sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB počítá položky v poli

Musíte $unwind pole "sizes" pak $group podle „item“ a „sizes“ a použijte $sum vrátit počet.

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

který produkuje:

{ "_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. Jak se dotazovat na rozsah dat v kolekci MongoDB, kde je datum ISO uloženo v poli řetězce?

  2. Jak odladit chybový příkaz OOM není povolen při použití paměti> 'maxmemory' v Redis?

  3. Jak mohu nastavit MongoDB na serveru Node.js pomocí node-mongodb-native v prostředí EC2?

  4. odlišné s více poli a s podmínkou kde v mongodb