sql >> Database >  >> NoSQL >> MongoDB

Hoe zet je een pymongo.cursor.Cursor om in een dictaat?

De find methode retourneert een Cursor instantie, waarmee u alle overeenkomende documenten kunt herhalen.

Om het eerste document te krijgen dat aan de opgegeven criteria voldoet, moet je find_one . gebruiken . Het resultaat van find_one is een woordenboek.

U kunt altijd de list . gebruiken constructor om een ​​lijst van alle documenten in de collectie te retourneren, maar houd er rekening mee dat hierdoor alle gegevens in het geheugen worden geladen en dat dit misschien niet is wat u wilt.

U moet dat doen als u de cursor opnieuw moet gebruiken en een goede reden heeft om rewind() niet te gebruiken

Demo met find :

>>> import pymongo
>>> conn = pymongo.MongoClient()
>>> db = conn.test #test is my database
>>> col = db.spam #Here spam is my collection
>>> cur = col.find()  
>>> cur
<pymongo.cursor.Cursor object at 0xb6d447ec>
>>> for doc in cur:
...     print(doc)  # or do something with the document
... 
{'a': 1, '_id': ObjectId('54ff30faadd8f30feb90268f'), 'b': 2}
{'a': 1, 'c': 3, '_id': ObjectId('54ff32a2add8f30feb902690'), 'b': 2}

Demo met find_one :

>>> col.find_one()
{'a': 1, '_id': ObjectId('54ff30faadd8f30feb90268f'), 'b': 2}


  1. Het gegevenstype van een kolom in SQL controleren?

  2. Kunnen strikte JSON $dates worden gebruikt in een MongoDB-query?

  3. MongoDB 'kan index voor $geoNear-query niet vinden'

  4. MongoDB $isNumber