sql >> データベース >  >> NoSQL >> MongoDB

減算して累積値をグループ化するMongodb集計クエリ

    どう?時間は計算されませんが、それ以外はすべて実行されます。

    [
        {
          $match: {
              $and: [
                  {MachineID: {$in: [1001]}},
                  {
                    Timestamp: {
                        $gte: ISODate("2017-04-18T01:30:00.000Z"),
                        $lte: ISODate("2017-04-19T01:30:00.000Z")
                    }
                  }
              ]
          }
        },
        // Add all data to one array.
        {$group: {_id: "$MachineID", all: {$push: "$$ROOT"}}},
        // Create an array of (element, array index) pairs.
        {$addFields: {allWithIndex: {$zip: {inputs: ["$all", {$range: [0, {$size: "$all"}]}]}}}},
        // Create an array of {current: <element>, previous: <previous element>} pairs.
        {
          $project: {
              pairs: {
                  $map: {
                      input: "$allWithIndex",
                      in : {
                          current: {$arrayElemAt: ["$$this", 0]},
                          prev: {
                              $arrayElemAt: [
                                  "$all",
                                  // Set prev == current for the first element.
                                  {$max: [0, {$subtract: [{$arrayElemAt: ["$$this", 1]}, 1]}]}
                              ]
                          }
                      }
                  }
              }
          }
        },
        // Compute the deltas.
        {$unwind: "$pairs"},
        {
          $group: {
              _id: {MachineID: "$_id", RunStatus: "$pairs.current.RunStatus"},
              ProductsCount:
                  {$sum: {$subtract: ["$pairs.current.ProductsCount", "$pairs.prev.ProductsCount"]}},
              Utilization:
                  {$sum: {$subtract: ["$pairs.current.Utilization", "$pairs.prev.Utilization"]}},
          }
        }
    ]
    



    1. 深くネストされた配列をC#MongoDB.Driverで更新するにはどうすればよいですか?

    2. Hiveを使用したHBaseとの対話、パート1

    3. 意図しないmongoバージョンのアップグレード後の古いmongoデータベースのアップグレード

    4. MongoDB HostName/URI構成