MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Pymongo:itere sobre todos os documentos da coleção


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:

Consulte uso do mongoexport Para maiores informações.