Python MongoDB Dict Результаты? - PullRequest
       5

Python MongoDB Dict Результаты?

0 голосов
/ 07 декабря 2011

Есть ли возможность получить результаты из MongoDB в Python, используя PyMongo, и получить их в стиле dict?Например

    clogin = self.mdb.database.users.find_one( {"$and": [{"username" : str(username)},  {"password" : newpass}]})
    fname = clogin['First_name']

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Согласно документации pymongo 2.0 :

Наиболее простой тип запроса, который может быть выполнен в MongoDB: find_one (). Этот метод возвращает один документ, соответствующий запросу (или Нет, если нет совпадений). Это полезно, когда вы знаете, что есть только один соответствующий документ или интересует только первый матч. Здесь мы используем find_one (), чтобы получить первый документ из постов Коллекция:

>>> posts.find_one()
{u'date': datetime.datetime(...), u'text': u'My first blog post!', u'_id': ObjectId('...'), u'author': u'Mike', u'tags': [u'mongodb', u'python', u'pymongo']}

В результате получается словарь, соответствующий тому, который мы вставили ранее.

1 голос
/ 07 декабря 2011

То, что вы делаете, даст вам результаты Dict. find_one () от pymongo возвращает результаты в виде словаря. Вы можете использовать clogin.get ('First_name') для получения результата, если он существует, или по умолчанию None, если нет.

find () вернет курсор, поэтому вы можете захотеть перебрать и получить результаты так, как вам нужно.

...