cursor.forEach() n'est pas disponible pour Python, c'est une fonction JavaScript. Vous auriez à obtenir un curseur et itérer dessus. Voir tutoriel PyMongo :interroger pour plus plus d'un document , où vous pouvez faire :
for document in myCollection.find():
print(document) # iterate the cursor
Malheureusement, il y a un manque d'informations ici pour déboguer pourquoi et ce qu'est "Tué". Cependant, si vous souhaitez tout assortir, vous pouvez simplement indiquer :
cursor = db.myCollection.find({"name": {$regex: /.*/}})
Étant donné ce champ name
contient des valeurs de chaîne. Bien que l'utilisation de $exists
pour vérifier si le champ name
existe serait préférable que d'utiliser regex.
Alors que l'utilisation de $exists
L'opérateur dans votre exemple ci-dessus est incorrect. Il vous manque un s
dans $exists
. Encore une fois, malheureusement, nous ne connaissons pas beaucoup d'informations sur ce que "n'a pas fonctionné" signifiait pour aider à déboguer davantage.
Si vous écrivez ce script pour l'exercice Python, je vous recommande de réviser :
Vous pouvez également vous inscrire à un cours en ligne gratuit à MongoDB University pour M101P :MongoDB pour les développeurs Python .
Cependant, si vous essayez simplement d'accomplir votre tâche d'exportation CSV à partir d'une collection. Comme alternative, vous pouvez simplement utiliser mongoexport de MongoDB . Qui a le support pour :
- Exporter des champs spécifiques via --fields "name, adresse"
- Exportation au format CSV via --type "csv"
- Exportation de valeurs spécifiques avec requête via --query " ..."
Voir utilisation de mongoexport pour plus d'informations.