我使用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) {
答案 0 :(得分:0)
试试这个
Posts.update({ _id: postId,thanks:{$ne:userId} }, { $push : { thanks : userId}, $inc : {likes : 1 } })