mongodb - 反转 MongoDB 查询的结果/相反的 $and 操作

标签 mongodb

这是我的收藏:

{ _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/

相关文章:

mongodb - Graphql 创建两个查询之间的关系。错误无法在初始化之前访问

MongoDB嵌套值查询

mongodb - 保存 docker Mongo 容器的所有数据并导出

linux - 如何在linux上安装mongodb二进制包

python - PyMongo find_one 不返回现有条目

php - 使用 php 驱动程序将查询从 MySql 查询转换为 mongoDB 查询

mongodb - 使用 ReadPreference=NEAREST 的 Mongos 路由

mongodb - 如何使用 MongoDB 在一个集合中查找不在另一个集合中的项目

node.js - 如何使用 body-parser 使用 nodejs 和 mongoose 将嵌套对象数组插入/添加到 mongodb 数据库中

MongoDB 特殊字符