如何根据if语句从mongoDB中删除帖子?

时间:2015-03-03 16:45:37

标签: javascript mongodb collections meteor

在Meteor Framework中工作,我有Posts.Collection的帖子,你可以投票或者投票,我想在投票得分为-5时删除帖子。

Template.postList.helpers({
	post: function() {
		if (post.score < 5) {
			Posts.remove(post._id);
	    };
    }
});

分数通过服务器更新。我是否还需要通过服务器删除帖子?

1 个答案:

答案 0 :(得分:0)

你可以在你投票的事件上做到这一点,并自动获得删除..

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})
        }
      }
    })
  }
})

但是如果你不信任downvotes,你想在删除他之后检查帖子

你可以在一些迷你adminBackend上做一个查找(助手),你将获得超过5票的所有帖子,你检查downvotes是否是valids并继续删除它们。

或者使用Hooks

在飞行中或在after.insert上进行查找,有很多选项可以做到这一点,但我更喜欢迷你管理员的想法