cursor.forEach() er ikke tilgængelig for Python, det er en JavaScript-funktion. Du bliver nødt til at få en markør og gentage den. Se PyMongo Tutorial:forespørgsel efter mere end ét dokument , hvor du kan gøre:
for document in myCollection.find():
print(document) # iterate the cursor
Desværre er der mangel på information her til at fejlsøge om hvorfor og hvad 'Killed' er. Selvom du gerne vil matche alt, kan du blot angive:
cursor = db.myCollection.find({"name": {$regex: /.*/}})
Givet det felt name
indeholder strengværdier. Selvom du bruger $exists
for at kontrollere, om feltet name
eksisterer ville være at foretrække frem for at bruge regex.
Mens brugen af $exists
operatoren i dit eksempel ovenfor er forkert. Du mangler en s
i $exists
. Igen, vi ved desværre ikke meget information om, hvad 'virkede' betød for at hjælpe med at fejlfinde yderligere.
Hvis du skriver dette script til Python-øvelsen, vil jeg anbefale at gennemgå:
Du kan også tilmelde dig et gratis online kursus på MongoDB University for M101P:MongoDB for Python-udviklere .
Men hvis du bare prøver at udføre din opgave med at eksportere CSV fra en samling. Som et alternativ kan du bare bruge MongoDB's mongoexport . Som har støtte til:
- Eksport af specifikke felter via --felter "navn, adresse"
- Eksport i CSV via --type "csv"
- Eksport af specifikke værdier med forespørgsel via --forespørgsel " ..."
Se mongoexport-brug for mere information.