如何在mongodb中插入嵌套数组

时间:2017-09-29 17:29:39

标签: node.js mongodb mongoose schema

我在Mongodb $push in nested array

中看到了这一点

播放列表。$。音乐代表。??

db.collection.update(
    { "_id": ID, "playlists._id": "58"},
    { "$push": 
        {"playlists.$.musics": 
            {
                "name": "test name",
                "duration": "4.00"
            }
        }
    }
)

我的收藏是这样的。

"book" : [
        {
                "name" : "rupesh",
                "brand" : [
                        {
                                "name" : "classmate",
                                "price" : [
                                        {
                                                "RS" : 100,
                                                "Dollar" : 12
                                        }
                                ]
                        }
                ]
        }
]

我想添加新的价格详情,例如

price : [
       {
          "RS" : 100,
           "Dollar : 12
       },
        {
            "RS" : 150,
           "Dollar : 15
        } 
      ]

请给我一些建议

1 个答案:

答案 0 :(得分:0)

由于 $ 运算符用于更新,引自$ for update上的MongoDB文档,

  

位置 $ 运算符标识要更新的数组中的元素,而不显式指定元素在数组中的位置。

因此,在上面的代码中,playlists.$.musics部分仅声明更新与第一个管道上的条件匹配的第一个文档的属性音乐。

我希望这会有所帮助。