Joe*_*Joe 2 python mongodb pymongo
在 Mongo(特别是 pymongo)中,我的目标是能够排除不等于多个值之一的记录。在此示例中,数据不是 504 或 400。我知道我可以使用以下方法排除不包含单个值的记录:
foo = db.collection.find({
"data": { "$ne": 400 }
})
Run Code Online (Sandbox Code Playgroud)
我试过:
foo = db.collection.find({
"data": { "$ne": 400 },
"data": { "$ne": 504 }
})
Run Code Online (Sandbox Code Playgroud)
和
foo = db.collection.find({
"data": { "$ne": 400, "$ne": 504 }
})
Run Code Online (Sandbox Code Playgroud)
...但在这两种情况下,似乎只进行最后一次比较。我仍然得到数据为 400 的记录。我该如何编写它以便对两者进行过滤?换句话说,我如何执行“数据不等于以下任何一项[...]”?
$nin.根据文档,
$nin选择文档,其中:
- 该
field值不在指定的数组中或- 在
field不存在。
尝试
foo = db.collection.find({
"data": { "$nin": [504, 400] },
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2792 次 |
| 最近记录: |