sql >> Base de Datos >  >> NoSQL >> MongoDB

Pymongo:iterar sobre todos los documentos de la colección

cursor.forEach() no está disponible para Python, es una función de JavaScript. Tendría que obtener un cursor e iterar sobre él. Consulte Tutorial de PyMongo:consulta de más que un documento , donde puedes hacer:

for document in myCollection.find():
    print(document) # iterate the cursor

Desafortunadamente, aquí falta información para depurar por qué y qué es 'Killed'. Aunque si desea hacer coincidir todo, simplemente puede indicar:

cursor = db.myCollection.find({"name": {$regex: /.*/}}) 

Dado ese campo name contiene valores de cadena. Aunque usando $exists para verificar si el campo name existe sería preferible que usar expresiones regulares.

Mientras que el uso de $exists operador en su ejemplo anterior es incorrecto. Te falta un s en $exists . Una vez más, lamentablemente no sabemos mucha información sobre lo que significa "no funcionó" para ayudar a depurar más.

Si está escribiendo este script para el ejercicio de Python, le recomendaría revisar:

También puede inscribirse en un curso en línea gratuito en MongoDB University para M101P:MongoDB para desarrolladores de Python .

Sin embargo, si solo está tratando de realizar su tarea de exportar CSV de una colección. Como alternativa, puede usar mongoexport de MongoDB . Que tiene el soporte para :

Consulte uso de mongoexport para más información.