MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie konvertiert man einen pymongo.cursor.Cursor in ein Diktat?

Der find Methode gibt einen Cursor zurück -Instanz, mit der Sie über alle übereinstimmenden Dokumente iterieren können.

Um das erste Dokument zu erhalten, das den angegebenen Kriterien entspricht, müssen Sie find_one verwenden . Das Ergebnis von find_one ist ein Wörterbuch.

Sie können jederzeit die list verwenden Konstruktor, um eine Liste aller Dokumente in der Sammlung zurückzugeben, aber denken Sie daran, dass dies alle Daten in den Speicher laden wird und möglicherweise nicht das ist, was Sie wollen.

Sie sollten dies tun, wenn Sie den Cursor wiederverwenden müssen und einen guten Grund haben, rewind() nicht zu verwenden

Demo mit 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 mit find_one :

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