Python MongoDB Dict结果?

时间:2011-12-07 04:05:16

标签: python mongodb dictionary pymongo

是否可以使用PyMongo从Python中检索MongoDB的结果并以dict风格使用它们?例如

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

2 个答案:

答案 0 :(得分:2)

根据pymongo 2.0 documentation

  

可以在MongoDB中执行的最基本类型的查询是   找一个()。此方法返回与查询匹配的单个文档(或   如果没有匹配,则为无)。当你知道有它时它很有用   只有一个匹配的文档,或者只对第一个匹配感兴趣。   这里我们使用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 :(得分:1)

你在做什么会给你Dict结果。 pymongo的find_one()将结果作为字典返回。您可以使用clogin.get('First_name')获取结果(如果存在)或默认为None(如果不存在)。

find()将返回一个游标,因此您可能希望迭代并以您需要的方式获得结果。