mongodb - 如何在 mongodb 中聚合查询

标签 mongodb mongoose

我有一个如下所示的文档集合:

{
  name : "tester"
  , activity: [
    {
      gear: "glasses"
      where: "outside"    
    }
    , {
      gear: "hat"
      , where: "inside"
    }
    , {
      gear: "glasses"
      , where: "car"
    }
  ]
}

如何查询集合以仅返回具有包含“gear”:“glasses”值的多个事件的文档?

谢谢!

最佳答案

如果您需要按您的条件过滤的完整文档,我认为可以不用聚合框架:

db.collection.find({
    "activity": {$elemMatch: {gear:"glasses"}},
    "activity.1" : {$exists: 1}
})

关于mongodb - 如何在 mongodb 中聚合查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18543811/

相关文章:

javascript - 为什么 'find' 查询在 MongoDB 中返回一个 Query 对象?

node.js - 在 Mocha 测试中的 for 循环中进行顺序 Mongoose 查询

c# - MongoDB C# 连接更新对象

javascript - mongoDB - $push _id 到特定用户

mongodb - 使用 MongoDB/Mongoose 对多个文档进行 Uspert

mongodb - mongodb mapreduce 函数是否接受文档的计算值作为映射器

node.js - Mongodb 按两个字段之一排序

mongodb - 环回 4 : Test never end when there is a connection with a MongoDB

java - Quarkus mongodb 集成

mongodb - 很少使用的 Mongoose 连接(保持事件状态?)