安全使用Pymongo的find_one

时间:2013-11-14 17:42:09

标签: pymongo

Pymongo find_one的行为是什么?我希望这样的函数在找不到所需文档时返回None或抛出异常。但它的行为如下:

>>> q = db.find_one({'node_type': {'$regex':'impossible-condition'}})
>>> q
>>>
>>> q==1
False
>>> w==1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'w' is not defined

它会返回什么吗?以及如何安全地确定查询是否与值不匹配?

1 个答案:

答案 0 :(得分:0)

由于find_one是集合级操作,因此您需要实际提供要查询的集合。举个例子,我们将查看用户集合:

q = db.users.find_one({'node_type': {'$regex':'impossible-condition'}})

之后适用以下条件:find_one返回单个文档,如果找不到匹配的文档,则返回None。

请参阅: http://api.mongodb.org/python/current/api/pymongo/collection.html#pymongo.collection.Collection.find_one