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

mongodbのネストされたドキュメントでの発生をカウントする方法は?

    処理する必要のあるデータの量に応じて、これにアプローチする方法がいくつかあります。 AggregationFramework を使用できます。 MongoDB 2.2以降、または場合によってはマップ/リデュース集約コマンドの比較 を参照してください。 機能と制限の概要については、

    集約フレームワークを使用した例を次に示します。

    db.fruit.aggregate(
        // Limit matching documents (can take advantage of index)
        { $match: {
            "_id" : ObjectId("52c1d909fc7fc68ddd999a73")
        }},
    
        // Unpack the question & answer arrays
        { $unwind: "$questions" },
        { $unwind: "$questions.answers" },
    
        // Group by the answer values
        { $group: {
            _id: "$questions.answers.answer",
            count: { $sum: 1 }
        }}
    )
    

    サンプルドキュメントの場合、これは次のようになります。

    {
        "result" : [
            {
                "_id" : "banana",
                "count" : 1
            },
            {
                "_id" : "apple",
                "count" : 2
            }
        ],
        "ok" : 1
    }
    


    1. MongoDBのISODate()とUNIXタイムスタンプ

    2. モデルにスキーマが登録されていません。 Mongodb>マングース

    3. ブロードキャスト変数がパーティション内に表示されないApacheSpark

    4. Python-redis keys()は、文字列ではなくバイトオブジェクトのリストを返します