2014-10-10 75 views
0

我在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/

回答

1

您應該使用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

相關問題