首页
学习
活动
专区
圈层
工具
发布

$project聚合管道MongoDB中的$nin

在MongoDB中,$nin 是一个查询操作符,用于过滤掉数组中包含指定元素的文档

假设我们有一个名为 users 的集合,其中每个文档都有一个名为 hobbies 的数组字段。现在,我们想要找出那些没有 hobbies 数组中包含 "apple" 或 "orange" 的用户。

我们可以使用 $nin 操作符结合 $project 聚合管道来实现这个需求:

代码语言:javascript
复制
db.users.aggregate([
  {
    $project: {
      _id: 1,
      name: 1,
      hobbies: {
        $filter: {
          input: "$hobbies",
          as: "hobby",
          cond: { $nin: ["$$hobby", "apple", "orange"] }
        }
      }
    }
  }
])

在这个示例中,我们使用 $filter 表达式来遍历 hobbies 数组,并使用 $nin 操作符过滤掉包含 "apple" 和 "orange" 的元素。最后,我们只返回那些没有这些元素的文档。

注意:$nin 不能直接在 $project 阶段中使用,我们需要使用 $filter 表达式来实现这个需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的文章

领券