【问题标题】:Pymongo with altlas $ne doesn't exclude all documents带有 altlas $ne 的 Pymongo 不排除所有文档
【发布时间】:2020-10-05 10:08:03
【问题描述】:

我正在使用 Pymongo 检索一个集合,我需要排除文档。 根据 Mongo 集合排除参数,我在查询中使用了 $ne,并且还排除了投影中的字段。

它似乎不起作用。我得到了 myVar 设置为 true 的文档。

cursor = collection.find(
        { 'myVar' : { '$ne': 'true' }},
        { 
        'secret':  0,
        'Policies': 0
        }
        )

请注意我的值是一个布尔值,但如果我按照下面的说明进行操作,我会收到错误:

{ '$ne': true }

请高手帮帮我! :)

【问题讨论】:

    标签: mongodb pymongo mongodb-atlas


    【解决方案1】:

    Python 对布尔运算符使用 True/False,因此您应该使用:

    cursor = collection.find(
            { 'myVar' : { '$ne': True }},
            { 
            'secret':  0,
            'Policies': 0
            }
            )
    

    查询看起来不错,但您也可以使用替代方法:

    cursor = collection.find(
            { 'myVar' : { '$in': [None, False] }},
            { 
            'secret':  0,
            'Policies': 0
            }
            )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-04
      • 2014-01-05
      • 2017-04-15
      • 2016-10-22
      • 2014-05-19
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多