繁体   English   中英

使用NodeJS更新mongodb中的嵌套数组元素

[英]Updating nested array elements in mongodb using NodeJS

我想知道如何在MongoDB中访问嵌套数组元素,例如,如果我们有以下内容:

{
   array1 : [
      {
         array11 : {
               name11 : "xyz"
            }
       },{
         array12 : {
             name12: "abc",
             nums : [1,2,3,4]
          }
       }
     ]
}

现在,我如何访问和更新“ name12”字段。 以及如何向“ nums”字段添加元素。

A)查找集合:我假设您要查找name12 =“ abc”。

 db.mydata.find({"array1.array12.name12":"abc"}).pretty()

B)要更新和添加元素到nums数组,请使用位置运算符:

https://docs.mongodb.com/manual/reference/operator/update/positional/

db.mydata.update({"array1.array12.name12":"abc"},
             {$set:{"array1.$.name12":"abc"} , 
              $push:{"array1.$.nums":5}
})

附带说明,您应该考虑重新定义架构,以使数组具有相似的结构。 从长远来看,它将帮助您进行更新。

您可以像访问任何传统js数组一样访问它,在这种情况下,您访问数组中的对象时要注意语法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM