MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Il campo $name deve essere un oggetto accumulatore

Esistono alcuni operatori di aggregazione che possono essere utilizzati solo in $group aggregazione e denominato $group accumulators

Proprio come hai usato $sum qui devi usare per il name anche la chiave

{ "$group": {
  "_id": "$_id",
  "name": { "$first": "$name" },  //$first accumulator
  "count": { "$sum": 1 },  //$sum accumulator
  "totalValue": { "$sum": "$value" }  //$sum accumulator
}}

L'accumulatore è come un array di elementi che si accumula come array.$first -> fornisce il primo nome che va nel gruppo di nomi

Esempio:quindi se hai $_id stesso nome ma diverso ["Darik","John"] specificando $first darà Darik e allo stesso modo $last darà Giovanni