使用NodeJS,MongoDB和Monk更新数组项

Rya*_*ell 5 mongodb node.js mongoskin

我有这样的数据集:

{ 
  name : 'Doc Name',
  photos: [
      {
        name: 'photo1',
        url: 'http://.....'
      },
      {
        name: 'photo2',
        url: 'http://......'
      }
   ],
   etc ...
Run Code Online (Sandbox Code Playgroud)

使用Monk https://github.com/LearnBoost/monk如何更新photo2?我可以使用索引,因为我正在迭代字段.

我下面的当前尝试给了我一个错误,我不能为JSON选择器使用变量(如在索引中).

collection.update({_id: data._id}, {photos[i].data: filename}, function(err, updatedata) {

            });
Run Code Online (Sandbox Code Playgroud)

Nei*_*unn 6

可以使用位置$运算符更新数组中某个位置的项目

collection.update( 
    { _id: data.id, "photos.name": "photo2" }, 
    { $set: { "photos.$.data": "yourdata" } }
)
Run Code Online (Sandbox Code Playgroud)