为了账号安全,请及时绑定邮箱和手机立即绑定

嵌套数组中的MongoDB$Push

嵌套数组中的MongoDB$Push

隔江千里 2019-06-19 14:41:09
嵌套数组中的MongoDB$Push我想要添加新的数据,我的嵌套数组我的文件是:{   "username": "erkin",   "email": "erkin-07@hotmail.com",   "password": "b",   "playlists": [     {       "_id": 58,       "name": "asdsa",       "date": "09-01-15",       "musics": [         {           "name": "INNA - Cola Song (feat. J Balvin)",           "duration": "3.00"         },         {           "name": "blabla",           "duration": "3.00"         }       ]     }   ]}我想在这个播放列表中添加音乐:{   "username": "erkin",   "email": "erkin-07@hotmail.com",   "password": "b",   "playlists": [     {       "_id": 58,       "name": "asdsa",       "date": "09-01-15",       "musics": [         {           "name": "INNA - Cola Song (feat. J Balvin)",           "duration": "3.00"         },         {           "name": "blabla",           "duration": "3.00"         },         {           "name": "new",           "duration": "3.00"         }       ]     }   ]}以下是我尝试过的:$users->update(   array(     '_id' => new MongoId (Session::get('id')),     'playlists._id' => $playlistId  ),   array(     '$push' => array('playlists.musics' => array(       'name' => 'newrecord',       'duration' => '3.00'     ))   ));
查看完整描述

2 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

可能是这样的,ID是你的对象。第一个{}是标识文档所必需的。只要集合中有另一个唯一标识符,就不需要使用objectid。

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


查看完整回答
反对 回复 2019-06-19
  • 2 回答
  • 0 关注
  • 957 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信