MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Le champ $name doit être un objet accumulateur

Certains opérateurs d'agrégation ne peuvent être utilisés que dans $group agrégation et nommé comme $group accumulators

Tout comme vous avez utilisé $sum ici vous devez utiliser pour le name clé aussi

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

L'accumulateur est comme un tableau d'éléments qu'il accumule en tant que tableau. $first -> donne le 1er nom qui va dans le groupe de noms

Exemple :si vous avez $_id même nom mais différent ["Darik","John"] en spécifiant $first donnera à Darik et similaire $last donnera à John