如何在猫鼬中返回数组内的匹配对象

时间:2021-03-09 09:41:13

标签: javascript node.js mongodb mongoose

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

我知道如果我们这样做

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

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

1 个答案:

答案 0 :(得分:0)

试试这个

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

Demo