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

集計フレームワークを使用してmongoDBの加重平均を計算するにはどうすればよいですか?

    そのためには、最初に、結果の比率の分子(加重和)と分母(加重和)を計算する必要があります。その後は、互いに分割するだけで済みます:

    db.collection.aggregate({
      $group : {
         _id : 'weighted average', // build any group key ypo need
         numerator: { $sum: { $multiply: [ "$price", "$quantity" ] } },
         denominator: { $sum: "$quantity" }
      }
    }, {
      $project: {
        average: { $divide: [ "$numerator", "$denominator" ] }
      }
    })
    

    詳細については、AggregationPipelineのドキュメント を参照してください。 。




    1. MongoDB:WriteResult.getN()は常に0を返しますか?

    2. Mongodbの行から列への集約

    3. 20Hadoop2.xとHadoop3.xの顕著な違い

    4. 春のmongoでネストされたドキュメントとしてプロジェクト