2013-04-06 64 views
0

我正在研究D3可視化,幸運的是已經取得了一些進展。但是,我遇到了一個問題......說實話,我不確定它是一個MongoDB問題還是一個D3問題。你看,我試圖從一組傳感器點(我的JSON對象包含時間戳,光線,溫度,溼度和運動檢測級別或每個數據點)製作一系列圖形。但是,我的傳感器每8秒將數據上傳到我的MongoDB數據庫。所以,如果我查詢MongoDB數據庫只有一天的數據......我得到了10,800個數據點。更糟糕的是,如果我要求提供一個月的數據,我會被324,000個數據點淹沒。我的問題是,當處理超過1000個點時,我的d3可視化變慢了(我正在用四個不同的圖形來顯示數據,每個圖形都使用一個畫筆來選擇圖形上的某個域。限制我試圖查看的數據量?使用MongoDB可以更好地完成這項工作嗎(所以基本上過濾我查詢的數據,並且只根據我試圖查詢的時間值的大小來獲取每個第n個數據點) 。還是有更好的方法?一旦我檢索了整個數據集,我應該嘗試使用D3過濾數據嗎?減少需要處理的點數的最佳方法是什麼?提前致謝。用MongoDB和D3減少大數據集

回答

0

MongoDB是在過濾偉大如果你真的只需要該數據的一個子集,指定在find查詢 - 這會限制時間的子集,或者如果你是聰明只得到數據每小時或類似的第一分鐘。

或者,你可以從字面上減少數據出來使用aggregation framework的MongoDB的量。這可以用來得到部分的總和或平均值或相似。