是否可以使用PyMongo从Python中检索MongoDB的结果并以dict风格使用它们?例如
clogin = self.mdb.database.users.find_one( {"$and": [{"username" : str(username)}, {"password" : newpass}]})
fname = clogin['First_name']
答案 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()将返回一个游标,因此您可能希望迭代并以您需要的方式获得结果。