这是我的收藏:
{ _id: "539b6502e9630311ad000033", user: "dummy1", x: 1, y: 1 }
{ _id: "539b64c2bdf763720900003e", user: "", x: 0, y: 1 }
{ _id: "539b653ad2a87581ff00000b", user: "dummy3", x: 1, y: 0 }
{ _id: "cPtudQJyKxffCgaZ9", user: "", x: 2, y: 5 }
{ _id: "Br8tCEwhrhG5tKwdJ", user: "dummy1", x: 1, y: 14 }
{ _id: "9AoLD6nLRnhdRfxPw", user: "dummy1", x: 8, y: 15 }
如何查询除{x: "1", y: "1"}
之外包含user: "dummy1"
的所有文档?
我正在寻找相反的:
find({user: "dummy1", "$and": [{x: 1}, {y: 1}]}).limit(10)
返回:
{_id: "539b6502e9630311ad000033", user: "dummy1", x: 1, y: 1}
我的猜测是:
find({user: "dummy1", "$not": [{x: 1},{y: 1}]}).limit(10)
返回:未找到文档。
最佳答案
要对 bool AND 取反,您可以使用 OR 将每个项取反:
db.test.find({user: 'dummy1', $or: [{x: {$ne: 1}}, {y: {$ne: 1}}]})
哪些输出:
{
"_id" : "Br8tCEwhrhG5tKwdJ",
"user" : "dummy1",
"x" : 1,
"y" : 14
}
{
"_id" : "Br8tCEwhrhG5tKwdx",
"user" : "dummy1",
"x" : 3,
"y" : 5
}
关于mongodb - 反转 MongoDB 查询的结果/相反的 $and 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30441296/