0
我試圖通過使用id字段,datetime字段和項目值和日期字段的總和來進行分組。
db.getCollection('driver_collections').aggregate([
{$group : { _id: {driverid:"$driver_id",day:{ $dayOfMonth: "$time_in"},
month:{$month:"$time_in"},year:{$year:"$time_in"}},
amountCollected : {$sum:"$total_collection"}}
},{
$project: {
yearMonthDay: { $dateToString: { format: "%Y-%m-%d", date: "$time_in" }},
amountCollected : 1
}
}])
我用上面的查詢,並得到了結果作爲
{
"_id" : {
"driverid" : "58014ce1f39e0f9dc40000b2",
"day" : 30,
"month" : 10,
"year" : 2016
},
"amountCollected" : 2094.0,
"yearMonthDay" : null
}
我需要得到yearMonthDay作爲
「yerMonthDay」: 「二〇一六年十月三十○日」
當我使用$ dateToString沒有$組它的工作原理罰款。我在這裏錯過了什麼。
那是因爲你沒有現場'time_in'在您的直接管道中的'$ group'階段之後。 – chridam