cursor.forEach() não está disponível para Python, é uma função JavaScript. Você teria que pegar um cursor e iterar sobre ele. Consulte Tutorial PyMongo:consultando para obter mais de um documento , onde você pode fazer:
for document in myCollection.find():
print(document) # iterate the cursor
Infelizmente, há falta de informações aqui para depurar o porquê e o que é 'Killed'. Embora se você gostaria de combinar tudo, você pode apenas declarar:
cursor = db.myCollection.find({"name": {$regex: /.*/}})
Dado esse campo
name
contém valores de string. Embora usando $exists
para verificar se o campo name
existe seria preferível do que usar regex. Enquanto o uso de $exists operador em seu exemplo acima está incorreto. Está faltando um
s
em $exists
. Novamente, infelizmente não sabemos muitas informações sobre o que 'não funcionou' para ajudar a depurar ainda mais. Se você estiver escrevendo este script para o exercício de Python, recomendo revisar:
Você também pode se inscrever em um curso on-line gratuito em MongoDB University para M101P:MongoDB para desenvolvedores Python .
No entanto, se você estiver apenas tentando realizar sua tarefa de exportar CSV de uma coleção. Como alternativa, você pode usar o mongoexport do MongoDB . Que tem o suporte para:
- Exportando campos específicos por meio de --fields "name, endereço"
- Exportando em CSV por meio de --type "csv"
- Exportando valores específicos com consulta via --query " ..."
Consulte uso do mongoexport Para maiores informações.