2017-01-26 37 views
1

我想按日期來總結各個領域的價格。MongoDB的 - 集料的日期

MongoDB的模式是:

Flow({ 
    dateBuy: {type: Date}, 
    client: {type: String}, 
    price: {type: Number} 
}); 

我使用下面的查詢:

db.flow.aggregate([ 
    { 
     "$group":{ 
      "_id":{ 
       "year":{ 
        "$year":"$dateBuy" 
       }, 
       "month":{ 
        "$month":"$dateBuy" 
       }, 
       "day":{ 
        "$dayOfMonth":"$dateBuy" 
       } 
      } 
     }, 
     "value":{ 
      "$sum":"$price" 
     } 
    } 
]) 

但是下面的消息是:

2017-01-26T11:55:35.702-0200 E QUERY SyntaxError: Unexpected token >

有人會知道如何解決這個問題,我不能確定我在做什麼w ^榮?

+0

試試這個'db.flow.aggregate([ { 「$組」:{ 「 _id 「:{ 」年「:{ 」$年「:」 $ dateBuy 「 }, 」月「:{ 」$月「: 」$ dateBuy「 }, 」天「:{ 」 $請將dayOfMonth 「:」 $ dateB UY」 }} , 「值」:{ 「$總和」: 「$價格」 }} } ])' – Veeram

+0

Appeared'2017-01-26T12:24:52.555-0200êQUERY的SyntaxError :意外的令牌>' – rafaelcb21

回答

2

你錯過了壓痕 - value應該在同一水平_id字段定義,$組操作員裏面

db.flow.aggregate([ 
    { 
     "$group": { 
      "_id":{ 
       "year":{ "$year":"$dateBuy" }, 
       "month":{ "$month":"$dateBuy" }, 
       "day":{ "$dayOfMonth":"$dateBuy" } 
      }, 
      "value":{ "$sum":"$price" } 
     } 
     // your "value" is defined here, outside of $group operator 
    } 
]) 
+0

我把它放在同一個級別只錯誤繼續'意外標記>' – rafaelcb21

+0

@ realcb21應該沒有錯誤,仔細檢查所有支架或只是複製粘貼的答案使用上面完全相同的代碼之後 –

+1

我的錯誤的工作,謝謝@Sergey Berezovskiy – rafaelcb21