如何在mongodb中找到基于数组对象键值的记录?

如何在mongodb中找到基于数组对象键值的记录?,mongodb,mongodb-query,Mongodb,Mongodb Query,我在数据库中有一个记录: { "name" : "user", "number":"09xxxxxxx21", "pc" : [{ "pcId" : "1", "pcName" : "Desktop", "pcOwner" : "user1&

我在数据库中有一个记录:

{
  "name" : "user",
  "number":"09xxxxxxx21",
  "pc" : [{
      "pcId" : "1",
      "pcName" : "Desktop",
      "pcOwner" : "user1"
    }, {
      "pcId" : "2",
      "pcName" : "Laptop",
      "pcOwner" : "user1"
    }
  ]}
}
使用mongo find query,我可以在命名时获取记录,但我想基于pcId获取记录。

试试这个:

db.collection.find({"pc.pcId": "2"})
由于pcId是
pc
的子元素,您需要首先引用父元素才能访问该元素


供参考:

我想你是在找这样的东西。

这非常好用。

请参阅。
db.collection.find({
  "pc.pcId": "12"
})