Wil*_*lem 5 mongodb nosql aggregation-framework
这是我的文档架构:
{
"_id" : ObjectId("5203c8b91afdd7160c6ecfd3"),
"answer_calls" : "",
"start" : "10:00",
"end" : "10:30",
"VDN_name" : "SP_SYNDICATED_7",
"total_calls" : "1",
"date" : "01/07/2013",
"abandoned_calls" : "",
"voicemail_calls" : ""
}
Run Code Online (Sandbox Code Playgroud)
我通过聚合框架尝试这个:
> dir.aggregate(
[
{ $group:
{_id: {fecha:"$date", hora: "$start"},
llamadas :{ $sum:"$total_calls"},
abandoned: {$sum:"$abandoned_calls"},
mail: {$sum:"$voicemail_calls"}
}
},
{ $sort: {fecha:1,hora:1} }
] )
Run Code Online (Sandbox Code Playgroud)
这是结果的一个例子:
{
"_id" : {
"fecha" : "16/07/2013",
"hora" : "18:30"
},
"llamadas" : 0,
"abandoned" : 0,
"mail" : 0
}
Run Code Online (Sandbox Code Playgroud)
问题是它不是$ sum,也不是$ sort
有人知道为什么吗?
解决方案是:
dir.aggregate(
[
{ $group:
{_id: {fecha:"$date", hora: "$start"},
llamadas :{$sum:"$total_calls"},
answer :{ $sum:"$answer_calls"},
abandoned: {$sum:"$abandoned_calls"},
mail: {$sum:"$voicemail_calls"} }
},
{ $sort:
{'_id.fecha':1 , '_id.hora':1} }
] )
Run Code Online (Sandbox Code Playgroud)
再次感谢Sammaye和JohnnyHK
| 归档时间: |
|
| 查看次数: |
3311 次 |
| 最近记录: |