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

サブドキュメントのMongoDB$sumおよび$avg

    合計を取得するには および平均 Channels.Valueの コレクション内の各ドキュメントの要素は、mongodbの集約処理を使用する必要があります。さらに、Channels は配列であり、$unwind演算子を使用して配列を分解する必要があります。

    コレクションの名前がexampleであると仮定します 、Channels.Valueのドキュメントの合計と平均の両方を取得する方法は次のとおりです。 s:

    db.example.aggregate( [ 
        { 
            "$unwind" : "$Channels"
        }, 
        {
            "$group" : {
                "_id" : "$_id",
                "documentSum" : { "$sum" : "$Channels.Value" },
                "documentAvg" : { "$avg" : "$Channels.Value" }
             }
        }
    ] )
    

    投稿のデータからの出力は次のようになります:

    { 
        "_id" : SomeObjectIdValue,
        "documentSum" : 76,
        "documentAvg" : 25.333333333333332
    }
    

    コレクションに複数のドキュメントがある場合は、Channelsを含む各ドキュメントの結果行が表示されます。 配列。



    1. Redis値の更新

    2. MongoDB C#Driver2.0-ドキュメントの更新

    3. 「フィールドには、見つからなかったタイプのBeanが必要でした。」 mongodbを使用したエラースプリングRESTfulAPI

    4. 独自のAzureアカウントを持参–ScaleGridでのMongoDB®およびRedis™のホスティング