0

鉴于现有聚合管道的以下结果,我一直试图对“ibytes”中的值求和以获得 1 个值,然后也对“obytes”做同样的事情。您会注意到这些值是列表中的一个列表,但我似乎无法将它们取出来添加它们(全部在 agg 框架内)。方向或尝试的事情?

一旦解决了这个问题,如何将这两个值相加?($add 在 $project 中?)

    {
        "ibytes" : [
            [
                NumberLong(590),
                NumberLong(5184)
            ]
        ],
        "obytes" : [
            [
                NumberLong(0),
                NumberLong(0)
            ]
        ],
        "ipAddress" : "10.202.5.37",
        "hour" : ISODate("2013-08-22T12:00:00Z"),
        "deviceId" : 363
    }
4

1 回答 1

0

您需要在聚合管道中添加以下 4 个阶段

  1. 在 ibytes 上放松
  2. 组 - 在此 "ibytes":{$sum:"$ibytes"} 期间执行 sum
  3. 在 obytes 上放松
  4. 组 - 在此 "obytes":{$sum:"$obytes"} 期间执行 sum
于 2013-09-05T15:09:45.597 回答