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

MongoDBは配列内のアイテムをカウントします

    $unwindを実行する必要があります 「sizes」配列、次に $group 「item」と「sizes」で、 $sum カウントを返します。

    db.collection.aggregate(
        [ 
            { "$unwind": "$sizes" }, 
            { "$group": { 
                "_id": { 
                    "item": "$item", 
                    "sizes": "$sizes" 
                }, 
                "count": { "$sum": 1 } 
            }}
        ]
    ) 
    

    生成するもの:

    { "_id" : { "item" : "EFG", "sizes" : "S" }, "count" : 1 }
    { "_id" : { "item" : "ABC", "sizes" : "L" }, "count" : 1 }
    { "_id" : { "item" : "ABC", "sizes" : "M" }, "count" : 2 }
    { "_id" : { "item" : "ABC", "sizes" : "S" }, "count" : 1 }
    



    1. mongo C#ドライバーを使用して埋め込みドキュメントでIDプロパティ名を維持する

    2. mongodbで設定解除した後に値nullでファイルされた配列を削除する方法

    3. docker-compose:コンテナ間の接続は拒否されましたが、ホストからサービスにアクセスできます

    4. mlabでこのトランザクションエラーを解決する方法は? [MongoError:トランザクション番号は...ドキュメントレベルのロックをサポートしています]