Hãy tìm hiểu một số điều cơ bản về cách hoạt động của pymongo.
Giả sử bạn có một số bộ sưu tập trong Mongo với dữ liệu được chèn. Bạn muốn lấy dữ liệu từ bộ sưu tập đó bằng cách thực hiện các truy vấn:
cursor = db.model.find({'time': {'$gte': start, '$lt': end}})
Tìm phương pháp của "mô hình" đối tượng bộ sưu tập trả về Cursor
object:một thực thể chứa tất cả thông tin về truy vấn và kết quả truy vấn.
Vì vậy, truy vấn được thực hiện và bước tiếp theo là nhận được kết quả. Các loại kết quả của truy vấn Mongo có thể khác nhau giữa các phương pháp. Trong trường hợp của chúng tôi (find
phương thức) - kết quả là một loạt các đối tượng JSON (đối tượng trình lặp), mỗi đối tượng trong số chúng được đại diện bởi dict
gõ bằng ngôn ngữ Python. Điều đó có nghĩa là bạn không phải phân tích cú pháp kết quả:chúng đã được phân tích cú pháp thành từng đoạn .
Một điều khác về Cursor
:nó lười biếng. Có nghĩa là bạn nhận được kết quả theo yêu cầu. Trong trường hợp Cursor
đối tượng, bạn phải lặp qua nó để lấy đối tượng được tìm nạp bằng truy vấn:
for result_object in cursor:
print result_object # result_object is a dict that holds JSON object
result_object['_id'] # Mongo ObjectId of the result_object
# result_object["<field_name>"] # Value stored in a field named <fieldname>
Nói chung, bạn phải thử đọc Hướng dẫn Pymongo :nó khá ngắn và cung cấp hướng dẫn về cách thức hoạt động của toàn bộ trình điều khiển.