0

既存の集約パイプラインからの次の結果を考えると、「ibytes」の値を合計して 1 つの値を取得し、「obytes」でも同じことをしようとしています。値がリスト内のリストであることに気付くでしょうが、それらを取得して追加することはできないようです (すべて agg フレームワーク内)。行き方や試してみることは?

これが解決したら、2 つの値を一緒に追加する方法は? ($project に $add しますか?)

    {
        "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"}
  3. オバイトでくつろぐ
  4. グループ - この「obytes」の間に合計を実行します:{$sum:"$obytes"}
于 2013-09-05T15:09:45.597 に答える