我有以下集合:
error_reports
[
{
"_id":{
"$oid":"5184de1261"
},
"date":"29/04/2013",
"errors":[
{
"_id":"10",
"failures":2,
"alerts":1,
},
{
"_id":"11",
"failures":7,
"alerts":4,
}
]
},
{
"_id":{
"$oid":"5184de1262"
},
"date":"30/04/2013",
"errors":[
{
"_id":"15",
"failures":3,
"alerts":2,
},
{
"_id":"16",
"failures":9,
"alerts":1,
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
是否可以检索出现故障的文档列表,并按故障降序排序警报总和?我是mongodb的新手,我已经搜索了2天,但我无法弄清楚什么是正确的查询......
我试过这样的事情:
db.error_reports.aggregate(
{ $sort : { failures: -1} },
{ $group:
{ _id: "$_id",
failures: { "$sum": "$errors.failures" }
}
}
);
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我认为是因为$sum:$errors.failures事情,我想在day_hours子集合的每个项目上总结这个属性,但我不知道在查询中这样做...