我似乎无法解决这个看似简单的问题。
下面的代码允许我在帖子对象上添加或减去1的喜欢数量。
我希望能够做到以下几点:
如果postLikes = 0,则停止允许我减少喜欢的次数。
我不希望能够减少过去0的喜欢次数。
这是我的代码:
Template.post.events({
"click .likeButton": function() {
// Set the checked property to the opposite of its current value
Posts.update(this._id, {
$inc: {
postLikes: 1
}
});
},
"click .dislikeButton": function() {
// Set the checked property to the opposite of its current value
Posts.update(this._id, {
$inc: {
postLikes: -1
}
});
}
});
答案 0 :(得分:1)
那么,在更新之前有条件呢?
更新 - 没关系。更好的方法是通过查询来实现这一目标!
"click .dislikeButton": function() {
Posts.update({_id : this._id, postLikes : {$gt : 0}}, {
$inc: {
postLikes: -1
}
});
}
答案 1 :(得分:0)
如果文档与`update',选择器的第一个参数中的条件匹配,则仅应用
"click .dislikeButton": function() {
Posts.update({ _id: this._id, postLikes:{ $gt: 0 }}, { $inc: { postLikes: -1 }});
}