【问题标题】:Safe use of Pymongo's find_one安全使用 Pymongo 的 find_one
【发布时间】:2013-11-14 17:42:09
【问题描述】:

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

它会返回任何东西吗?以及如何安全地确定查询是否与某个值不匹配?

【问题讨论】:

  • 你试过了吗:&gt;&gt;&gt; q is None

标签: pymongo


【解决方案1】:

由于find_one 是集合级别的操作,因此您需要实际提供要查询的集合。以您为例,我们将查看 users 集合:

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

【讨论】:

    猜你喜欢
    • 2016-11-07
    • 2023-02-10
    • 2018-09-27
    • 2019-03-31
    • 1970-01-01
    • 2021-04-08
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多