sql >> Database >  >> NoSQL >> MongoDB

Pymongo:herhaal alle documenten in de collectie

cursor.forEach() is niet beschikbaar voor Python, het is een JavaScript-functie. Je zou een cursor moeten krijgen en eroverheen moeten gaan. Zie PyMongo Tutorial:querying for more dan één document , waar u kunt doen:

for document in myCollection.find():
    print(document) # iterate the cursor

Helaas is er hier een gebrek aan informatie om te debuggen over waarom en wat 'Killed' is. Hoewel als je alles wilt matchen, je gewoon kunt zeggen:

cursor = db.myCollection.find({"name": {$regex: /.*/}}) 

Gezien dat veld name bevat tekenreekswaarden. Hoewel het gebruik van $exists om te controleren of veld name bestaat zou de voorkeur hebben boven het gebruik van regex.

Hoewel het gebruik van $bestaat operator in uw voorbeeld hierboven is onjuist. Je mist een s in $exists . Nogmaals, helaas weten we niet veel informatie over wat 'niet werkte' betekende om verder te debuggen.

Als je dit script schrijft voor Python-oefeningen, raad ik je aan om het volgende te lezen:

U kunt zich ook inschrijven voor een gratis online cursus bij MongoDB University voor M101P:MongoDB voor Python-ontwikkelaars .

Als u echter alleen uw taak probeert te volbrengen om CSV uit een verzameling te exporteren. Als alternatief kunt u gewoon MongoDB's mongoexport gebruiken . Welke ondersteuning heeft voor:

Zie mongoexport-gebruik voor meer informatie.



  1. Welke MongoDB-gebruikersrechten heb ik nodig om een ​​gebruiker toe te voegen aan een nieuwe/andere mongo-database?

  2. Synchronisatiebron had geen functie-compatibiliteitsversiefout bij het toevoegen van MongoDB 3.6-lid aan 3.4 replicaset

  3. Hoe een subdocument in mangoest vullen nadat het is gemaakt?

  4. Waar staat mongodb in de CAP-stelling?