Przyjrzyjmy się podstawom działania pymongo.
Załóżmy, że masz jakąś kolekcję w Mongo z wstawionymi danymi. Chcesz uzyskać dane z tej kolekcji, wykonując zapytania:
cursor = db.model.find({'time': {'$gte': start, '$lt': end}})
Metoda wyszukiwania „modelu” obiekt kolekcji zwraca Cursor
obiekt:jednostka, która przechowuje wszystkie informacje o zapytaniu i wynikach zapytania.
Więc zapytanie jest wykonane, a następnym krokiem jest uzyskanie wyników. Typy wyników zapytań Mongo mogą się różnić w zależności od metody. W naszym przypadku (find
metoda) - wynikiem jest wiązka obiektów JSON (obiekt iteratora), każdy z nich jest reprezentowany przez dict
wpisz w języku Python. Oznacza to, że nie musisz analizować wyników:są one już analizowane na werdykty .
Kolejna rzecz dotycząca Cursor
:jest leniwy. Oznacza to, że otrzymujesz wyniki na żądanie. W przypadku Cursor
obiekt, musisz przejść przez niego, aby pobrać obiekt za pomocą zapytania:
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>
Ogólnie rzecz biorąc, musisz spróbować przeczytać Samouczek Pymongo :jest dość krótki i podaje kierunek działania całego sterownika.