Нека имаме някои основни неща за това как работи pymongo.
Да приемем, че имате някаква колекция в Mongo с вмъкнати данни. Искате да получите данни от тази колекция, като правите заявки:
cursor = db.model.find({'time': {'$gte': start, '$lt': end}})
Намиране на метод на "модел" колекция обект връща Cursor
обект:обект, който съдържа цялата информация за заявката и резултатите от заявката.
Така че заявката е направена и следващата стъпка е получаването на резултати. Типовете резултати от Mongo заявки могат да се различават от метод до метод. В нашия случай (find
метод) - резултатът е куп JSON обекти (итератор обект), всеки от тях е представен от dict
въведете на език Python. Това означава, че не трябва да анализирате резултатите:те вече са анализирани в dicts .
Още нещо за Cursor
:мързеливо е. Това означава, че получавате резултати при поискване. В случай на Cursor
обект, трябва да преминете през него, за да получите обект, извлечен със заявка:
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>
По принцип трябва да опитате да прочетете урок за Pymongo :той е доста кратък и дава насоки как работи целият драйвер.