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}