mongodb 更新mongo数据库中的数据两个元素

v9tzhpje  于 2022-12-26  发布在  Go
关注(0)|答案(1)|浏览(107)
{
 "Templates": [
      {
        "ProductId": "63a2b0f87a810608e6ca6d95",
        "RevisionNum": [
            "221222"
        ],
        "EffectiveDate": "2022-12-22T02:45:22.587Z",
        "HardwareVer": "A",
        "SoftwareVer": "1.0",
        "WorkTasks": [],
        "_id": "63a3c4d950b22e564d2b8dee"
     }
],
"_id": "63a3c4d950b22e564d2b8ded",
"__v": 0
}

按productId更新数据元素,一个是将RevisionNum数组中的数组[“221222”]中的值更新为[“111111”],其他是MongoDB和Nodejs中的HardwareVer

im9ewurl

im9ewurl1#

您可以按如下方式使用arrayFilters:

db.collection.update({},
{
 $set: {
 "Templates.$[y].RevisionNum.$[x]": "1111",
 "Templates.$[y].HardwareVer": "B"
 }
},
{
 arrayFilters: [
 {
   x: "221222"
 },
 {
  "y.ProductId": "63a2b0f87a810608e6ca6d95"
 }
]
})

解释道:
创建两个arrayFilters x & y来标识需要更新的元素。
Playground

相关问题