MongoDB:使用 $push 将数据添加到嵌套数组
在 MongoDB 中,您可以存储复杂的数据结构,例如嵌套数组。当您需要向这些数组添加新元素时,可以使用 $push 运算符。
问题:
您想要向特定子数组添加新元素在一个文档内。您的文档在播放列表中包含嵌套的音乐曲目数组。您想要将新曲目添加到现有播放列表。
示例文档:
{ "username": "erkin", "email": "example@email.com", "password": "b", "playlists": [ { "_id": 58, "name": "asdsa", "date": "09-01-15", "musics": [ { "name": "INNA - Cola Song (feat. J Balvin)", "duration": "3.00" } ] } ] }
所需结果:
{ "username": "erkin", "email": "example@email.com", "password": "b", "playlists": [ { "_id": 58, "name": "asdsa", "date": "09-01-15", "musics": [ { "name": "INNA - Cola Song (feat. J Balvin)", "duration": "3.00" }, { "name": "new", "duration": "3.00" } ] } ] }
解决方案:
要将新项目添加到音乐子数组,您可以使用以下更新查询:
db.collection.update( { "_id": ID, "playlists._id": "58"}, { "$push": {"playlists.$.musics": { "name": "test name", "duration": "4.00" } } } )
在此query:
以上是如何使用 $push 将新项目添加到 MongoDB 中的嵌套数组?的详细内容。更多信息请关注PHP中文网其他相关文章!