find
phương thức trả về một Cursor
ví dụ, cho phép bạn lặp lại tất cả các tài liệu phù hợp.
Để nhận được tài liệu đầu tiên phù hợp với các tiêu chí đã cho, bạn cần sử dụng find_one
. Kết quả của find_one
là một từ điển.
Bạn luôn có thể sử dụng list
hàm tạo để trả về danh sách tất cả các tài liệu trong bộ sưu tập nhưng hãy nhớ rằng điều này sẽ tải tất cả dữ liệu trong bộ nhớ và có thể không phải là những gì bạn muốn.
Bạn nên làm điều đó nếu bạn cần sử dụng lại con trỏ và có lý do chính đáng để không sử dụng rewind()
Demo bằng 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 bằng find_one
:
>>> col.find_one()
{'a': 1, '_id': ObjectId('54ff30faadd8f30feb90268f'), 'b': 2}