猫鼬点表示法$ inc更新

Abo*_*ein 5 mongoose mongodb node.js

我有如下文件:

{
  "_id" : "1",

  "myplaylists" : [{
      "_id" : "2",
      "name" : "Playlist_0",
      "likes" : 712,
      "views" : 7110
    }],
  "name" : "First name, Last name"
}
Run Code Online (Sandbox Code Playgroud)

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

我所做的是:

User.update( {'myplaylists._id': 2}, {$inc: { 'myplaylists.likes': 1 }}
Run Code Online (Sandbox Code Playgroud)

但由于$ inc中的点符号,它似乎不起作用

有什么想法怎么做?

Joh*_*yHK 5

使用位置运算符 $来标识要更新的匹配数组元素:

User.update( {'myplaylists._id': 2}, {$inc: { 'myplaylists.$.likes': 1 }}
Run Code Online (Sandbox Code Playgroud)