2012-07-12 60 views

回答

2

命令波紋管將彙總/計數,每天的任務數:

db.col.group({ 
    $keyf : function(doc) { 
     return { "day" : doc.date.getFullYear() + "/" + (doc.date.getMonth()+1) + "/" + doc.date.getDate() }; 
    }, 
    initial: {count:0}, 
    reduce: function(obj, prev) { prev.count++; } 
}) 

然後你只格式化如果需要的話,並將其發送到highcharts API,但要小心,因爲如果你有大量的數據這可能會很慢。

另一種選擇是使用MapReduce並定期更新聚合集合並將其用作圖形的來源。

0
  1. 使用像PHP或Python這樣的服務器端腳本來使用mongodb查詢來聚合數據。

  2. count(),$其中,$gte ,$gt將是您可以用來查詢第x天完成的任務總數的操作員。

  3. 如果您需要查找在過去30天內完成的任務數量,執行30個查詢並不是一個好主意,但您必須使用mongodb的'group by'等效項,該技術被稱爲'map reduce'。

然後你可以根據需要通過你的圖表庫Highcharts(或者你也可以嘗試jqplot.com基於jQuery的圖表)以JSON呈現圖表數據在網頁上使用PHP/Python的/ XML格式。

相關問題