我正在尝试按日期对所有字段进行求和。
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 >
有人会知道如何解决这个问题,我无法确定我做错了什么?
答案 0 :(得分:2)
您错过了缩进 - value
应与_id
字段定义处于同一级别,$ group operator
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
}
])