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 :
- Exportación de campos específicos a través de --fields "name, dirección"
- Exportación en CSV mediante --type "csv"
- Exportación de valores específicos con consulta mediante --query " ..."
Consulte uso de mongoexport para más información.