$ addToSet无法持久化

时间:2018-01-09 03:52:06

标签: node.js mongodb mongoose

我使用Mongo Db和mongoose作为图层。我有一个场景,只有当用户按下like按钮是新用户时,like计数器应该增加+ 1。

添加了这段代码。我使用$ addToSet只有唯一值,如果$ addToSet成功,还使用$ set增加+ 1。但每次执行更新时,$ set都会被执行。

任何帮助都会有所帮助!!

 Posts.update({ _id: postId }, { $addToSet : { thanks : userId}, $set : {likes : postDetails.likes + 1 } }, function (err) {

1 个答案:

答案 0 :(得分:0)

试试这个

Posts.update({ _id: postId,thanks:{$ne:userId} }, { $push : { thanks : userId}, $inc : {likes : 1 } })