find
метод връща Cursor
екземпляр, който ви позволява да преглеждате всички съвпадащи документи.
За да получите първия документ, който отговаря на дадените критерии, трябва да използвате find_one
. Резултатът от find_one
е речник.
Винаги можете да използвате list
конструктор, за да върне списък с всички документи в колекцията, но имайте предвид, че това ще зареди всички данни в паметта и може да не е това, което искате.
Трябва да направите това, ако трябва да използвате повторно курсора и имате основателна причина да не използвате rewind()
Демо с помощта на 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}
Демо с помощта на find_one
:
>>> col.find_one()
{'a': 1, '_id': ObjectId('54ff30faadd8f30feb90268f'), 'b': 2}