cursor.forEach() non è disponibile per Python, è una funzione JavaScript. Dovresti ottenere un cursore e scorrere su di esso. Vedi PyMongo Tutorial:query per altro di un documento , dove puoi fare :
for document in myCollection.find():
print(document) # iterate the cursor
Sfortunatamente qui mancano informazioni per eseguire il debug sul perché e cosa sia "Killed". Sebbene se desideri abbinare tutto, puoi semplicemente affermare:
cursor = db.myCollection.find({"name": {$regex: /.*/}})
Dato quel campo name
contiene valori di stringa. Sebbene utilizzi $exists
per verificare se il campo name
esiste sarebbe preferibile rispetto all'utilizzo di regex.
Sebbene l'uso di $esiste
operatore nel tuo esempio sopra non è corretto. Ti manca un s
in $exists
. Ancora una volta, sfortunatamente non conosciamo molte informazioni su cosa significasse "non funzionava" per aiutare ulteriormente il debug.
Se stai scrivendo questo script per l'esercizio Python, ti consiglio di rivedere:
Puoi anche iscriverti a un corso online gratuito presso MongoDB University per M101P:MongoDB per sviluppatori Python .
Tuttavia, se stai solo cercando di portare a termine il tuo compito di esportare CSV da una raccolta. In alternativa, puoi semplicemente utilizzare mongoexport di MongoDB . Che ha il supporto per :
- Esportazione di campi specifici tramite --fields "name, indirizzo"
- Esportazione in CSV tramite --type "csv"
- Esportazione di valori specifici con query tramite --query " ..."
Vedi utilizzo di mongoexport per maggiori informazioni.