我在Meteorjs中创建了一个对象来保存N个骰子卷的数据库信息,然后使用把手#each iterator显示骰子。以下是我的一些代码:
全球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的数字,看起来像骰子。但是我在这里徘徊......无论如何,骰子滚动很棒,但是当我再次滚动时我想要清除骰子。现在,他们只是不断加起来。当我尝试使用任何方法删除Mongo DB Items时,它会崩溃我的应用程序。由于我不确定如何在浏览器中进行非常好的调试,我需要一些帮助,我会在这里问一下......
现在,我的主要问题是,当骰子再次滚动时,我想清除数据库并重新开始。我是JavaScript和Meteor的新手,来自Java&amp;&amp; Ruby土地,所以任何建议都非常感谢。
我已经尝试了
Items.removeIndexes(),
Items.purge(),
Items.remove({})
他们都冻结我的应用程序,我在#each迭代器中显示的数字仍然存在。我以为它会删除这些东西,并推动更改...没有???请帮忙。
代码在GitHub @ http://www.github.com/rabbitfighter81/DMware/
上答案 0 :(得分:1)
您应该使用remove方法,但如果您从客户端调用它,则每次调用只能删除一个文档,并且选择器必须引用文档_id
字段。所以,这是一个删除客户端集合中所有文档的示例:
TheCollection.find().forEach(function(doc){
TheCollection.remove(doc._id)
})