Mongodb Aggregation $ group,$ sum和$ sort

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

有人知道为什么吗?

Wil*_*lem 6

解决方案是:

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