在pymongo中正确使用$ ne或$ not(不支持的投影选项)

len*_*klb 12 python mongodb pymongo

我想编写以下查询到Mongo:"获取字段等于var1但/ /而不是var2的所有行"所以我有这个:

db["mydb"].find(
    {"field": var1},
    {"field": {
        "$ne": var2}
    }
)
Run Code Online (Sandbox Code Playgroud)

但它产生的错误是$ ne是一个"不支持的投影选项"我一直在谷歌搜索但我找不到类似的东西(或者这些例子似乎与我的努力没有矛盾)

Joh*_*yHK 19

您可以使用$and运算符来组合这样的要求:

db["mydb"].find(
    {"$and": [
        {"field": var1},
        {"field": {
            "$ne": var2
        }}
    ]}
)
Run Code Online (Sandbox Code Playgroud)


Saf*_*wan 5

除了使用 之外$and,您还可以通过使用{}组合过滤器来修复它。

db["mydb"].find({
    "field": var1,
    "field": {"$ne": var2}
})
Run Code Online (Sandbox Code Playgroud)