2013-05-09 137 views
1

我正在嘗試在基於當月的一天的聚合中執行計算。例如,我想將交易總數除以該月份的當天以獲取每天的交易量。MongoDB聚合框架現在的日期

問題是我無法弄清楚如何獲取當前日期。我看到大量的硬編碼示例,但我需要的更像MySQL NOW()函數。

我已經試過這樣的事情:

> db.statistics.aggregate([{$project: {dayofmonth: {$dayOfMonth: Date()}}}]) 
{ 
     "errmsg" : "exception: can't convert from BSON type String to Date", 
     "code" : 16006, 
     "ok" : 0 
} 

但產生你看到的錯誤。

如何獲取當前月份的當前日期以用於彙總計算?

回答

4

你幾乎做到了。你必須寫new Date()

db.statistics.aggregate([ 
    {$project: {dayofmonth: {$dayOfMonth: new Date()}}} 
]) 

會產生這樣的結果:

{ 
    "result" : [ 
     { 
      "_id" : "statisctiId", 
      "dayofmonth" : 9 
     } 
} 
+0

哈哈,謝謝你幫我完成自己的目標。奇蹟般有效。 – 2013-05-09 16:37:07

+0

new Date()返回未識別的常量語法錯誤;有什麼我失蹤? – mohakjuneja 2018-01-14 18:46:42