【问题标题】:How to delete post from mongoDB based on if statement?如何根据 if 语句从 mongoDB 中删除帖子?
【发布时间】:2015-03-04 00:59:58
【问题描述】:
在 Meteor 框架中工作,我有 Posts.Collection 帖子,你可以投票或反对,我想在投票得分为 -5 时删除帖子。
Template.postList.helpers({
post: function() {
if (post.score < 5) {
Posts.remove(post._id);
};
}
});
分数通过服务器更新。我还需要通过服务器删除帖子吗?
【问题讨论】:
标签:
javascript
mongodb
collections
meteor
【解决方案1】:
好吧,您可以在您投反对票的事件中执行此操作,它会自动获得删除..
Template.example.events({
'click #downVoteButton':function(e,t){
//on the update.
Posts.update({_id:this.id},{$inc{score:-1}},function(err,result){
if(!err){
var post = Posts.findOne({_id:this._id})
if(post.score >= 5){
Posts.remove({_id:this._id})
}
}
})
}
})
但是如果你不相信反对票,并且你想在删除他后查看帖子
您可以在一些迷你管理员后端上查找(帮助程序),在那里您将获得超过 5 个反对票的所有帖子,您检查反对票是否有效,然后继续删除它们。
或者为此使用Hooks。
即时或在after.insert 上进行查找,有很多选项可以做到这一点,但我更喜欢迷你管理员的想法