小编San*_*han的帖子

MongoDB按子集的总和排序

我有以下集合:

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子集合的每个项目上总结这个属性,但我不知道在查询中这样做...

sorting sum mongodb

2
推荐指数
1
解决办法
2811
查看次数

标签 统计

mongodb ×1

sorting ×1

sum ×1