【问题标题】:How can find a record based on array object key-value in mongodb?如何在mongodb中根据数组对象键值查找记录?
【发布时间】:2020-09-28 20:40:49
【问题描述】:

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

{
  "name" : "user",
  "number":"09xxxxxxx21",
  "pc" : [{
      "pcId" : "1",
      "pcName" : "Desktop",
      "pcOwner" : "user1"
    }, {
      "pcId" : "2",
      "pcName" : "Laptop",
      "pcOwner" : "user1"
    }
  ]}
}

使用 mongo find 查询我可以在给出名称时获取记录,但我想根据 pcId 获取记录。

【问题讨论】:

标签: mongodb mongodb-query


【解决方案1】:

我认为您正在寻找这样的东西。 https://mongoplayground.net/p/LsUCVSj_7_e

db.collection.find({
  "pc.pcId": "12"
})

这很完美。

【讨论】:

    【解决方案2】:

    试试这个:

    db.collection.find({"pc.pcId": "2"})
    

    由于 pcId 是 pc 的子元素,您需要先引用父元素才能到达该元素。

    供参考:https://mongoplayground.net/p/uWD9tPPhupR

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-02
      • 1970-01-01
      • 2019-11-13
      • 2017-12-10
      • 2019-09-28
      • 1970-01-01
      • 2011-08-17
      相关资源
      最近更新 更多