无法从Meteorjs中的Mongo数据库中删除项目

问题描述:

我在Meteorjs中创建了一个对象来存放N个骰子卷的数据库信息,然后使用句柄#each迭代器显示骰子。下面是我的一些代码:无法从Meteorjs中的Mongo数据库中删除项目

全球蒙戈集合:

Items = new Meteor.Collection('items');</code> 

当我掷骰子,这是发生了什么按钮被点击时的集合:

//Don't want to bore you with all code, so here's just important parts... 
    var randomNumber=Math.floor(Math.random() * numSides) +1); 
    var numDice = 6;// It's really a variable passed in, but for here it's 6. 
    for (var i = 0; i < numDice; i++) { 
       Items.insert(item: randomNumber) 
    }; 

而且那么他们会将信息显示为骰子,因为它显示的数字是CSS'd看起来像骰子。但我在这里偏离......无论如何,掷骰子是棒极了,但当我再次掷出时,我想清除骰子。现在,他们只是不断加起来。当我尝试使用任何方法删除MongoDB Items时,它会崩溃我的应用程序。由于我不知道如何在浏览器中很好地调试,我需要一些帮助,我不会在这里问它...

现在,我的主要问题是,当骰子再次滚动时,我想清除数据库并重新启动。我是JavaScript和Meteor的新手,来自Java & &红宝石土地,所以任何建议,非常感谢。

我已经试过

Items.removeIndexes(), 
Items.purge(), 
Items.remove({}) 

他们都只是冻结我的应用程序,我展示的#each迭代器的数字仍然存在。我认为它会删除的东西,并推动变化......没有?请帮忙。

的代码是在GitHub @http://www.github.com/rabbitfighter81/DMware/

您应该使用remove方法,但如果你从客户端调用它,你只能删除每次调用一个文件,并选择必须参照文件_id场。因此,下面是删除客户端集合中所有文档的示例:

TheCollection.find().forEach(function(doc){ 
    TheCollection.remove(doc._id) 
}) 
+0

感谢您的快速响应。 JS社区迄今为止非常好。没有noobcakes呼叫或任何东西。我曾经是人们粗鲁,所以谢谢你,我会试着摸索它,并让你知道它是否工作...此外,我知道Meteor文档,车把文档,但还有其他你会推荐更好的资源来更好地掌握这些东西,因为我宁愿阅读也不问问题,但是,现在大多数流星书已经过时了(大约2012年使用路由器,而不是铁路路由器等)。 ..很多是不同的,我找到的书,事情不再工作了)。 – 2014-10-10 19:58:24

+0

@JoshuaMichael,我会推荐阅读文档;这会给你一些你可以在流星中做什么的暗示。但也请查看[流星网站上的学习页面](https://www.meteor.com/learn-meteor),特别是Discover Meteor和EventedMind。 – 2014-10-10 20:18:38

+0

再一次,谢谢。 Peppe L-G。你的解决方案像一个魅力:) – 2014-10-10 22:11:36