【问题标题】:MongoDB Update a value from Object in Array in Object in ArrayMongoDB 在数组中的对象中更新数组中的对象的值
【发布时间】:2018-01-20 23:20:03
【问题描述】:

我想更新值。缺口应该是用他的id和口袋里的id来定位的。 我尝试使用 updateOne() 函数,但找不到间隙的路径。 也许你能帮帮我。

pockets 和 gaps 数组中的对象会更多。

{
    "_id":"5a4f535f4dc4b200d43cf333",
    "id":"A07","name":"name",
    "capacity":"230",
    "free":"230",
    "open":false,
    "location":
        {
            "longitude":51.02274,
            "latitude":7.5612
    },
    "pockets":
        [
            {
                "id":"A",
                "description":"Parktasche",
                "capacity":12,
                "free":11,
                "gaps":
                    [
                        {
                            "id":"7",
                            "value":true,      <-- should be updating
                            "deployee":false,
                            "disabled":false,
                            "guest":false,
                            "pid":"A"
                        }
                    ]
            }
        ]
    }

【问题讨论】:

  • pockets[0].gaps[0].value
  • 对不起,我忘记了什么。这个数组中会有更多的口袋对象和间隙对象。我想找到带有间隙 ID 和口袋 ID 的右侧口袋。

标签: arrays node.js mongodb object


【解决方案1】:

如果我没记错的话,你需要pockets.$.gaps.$.value之类的东西

https://docs.mongodb.com/manual/reference/operator/update/positional/#update-documents-in-an-array

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 2014-07-06
    • 1970-01-01
    相关资源
    最近更新 更多