Mongoose点符号$ inc更新

时间:2012-07-16 23:05:02

标签: node.js mongodb mongoose

我的文件如下:

{
  "_id" : "1",

  "myplaylists" : [{
      "_id" : "2",
      "name" : "Playlist_0",
      "likes" : 712,
      "views" : 7110
    }],
  "name" : "First name, Last name"
}

我想更新并增加“myplaylists.likes”

我做的是:

User.update( {'myplaylists._id': 2}, {$inc: { 'myplaylists.likes': 1 }}

但由于$ inc

中的点符号,它似乎不起作用

任何想法怎么做?

1 个答案:

答案 0 :(得分:4)

使用positional operator $标识要更新的匹配数组元素:

User.update( {'myplaylists._id': 2}, {$inc: { 'myplaylists.$.likes': 1 }}