首页 > 解决方案 > 如何在猫鼬的数组中返回匹配的对象

问题描述

{
  "_id": 36546b46bbh343..,
  "name": "Mike",
  "Friends: [
    {"name":"lora","age":23},
    {"name":"test","age":26}
  ]
}

我知道如果我们这样做

dbname.find({
  Friends:{
    $elemMatch:{
      "name": "test", 
      "age": 26
    }
  }
})

它将返回包含所有对象的整个文档。但是我一直在寻找的是有什么方法可以让我只得到与之匹配的对象。

标签: javascriptnode.jsmongodbmongoose

解决方案


尝试这个

 db.collection.find({
      Friends: {
        $elemMatch: {
          "name": "test",
          "age": 26
        }
      }
    },
    {
      "Friends.$": 1
    })

演示


推荐阅读