J'utilise le schéma suivant de la mongodb FAQ:Comment grouper dans mongo db sur les attributs dynamiques avec le framework d'agrégation?
{
attrib : [
{ k: "color", v: "red" },
{ k: "shape", v: "rectangle" },
{ k: "color", v: "blue" },
{ k: "avail", v: true }
]
}
Comment puis-je compter groupe et la collection par exemple par "couleur"? Je préférerais utiliser le cadre d'agrégation si possible au lieu de réduire la carte.
Mon résultat devrait ressembler à ceci:
[
{
v: "blue",
count: 5
},
{
v: "red",
count: 2
},
{
v: "black",
count: 52
}
]
Pouvez-vous être un peu plus descriptif sur les documents que vous en entrée et ce que vous attendez en sortie? – Derick
Si vous voulez juste compter les documents, essayez '.find ({" attrib.k ":" color "}). Count()'. Si vous voulez quelque chose de plus complexe comme le nombre d'occurrences dans les documents, veuillez fournir plus d'informations, telles que la sortie attendue :) – randunel
Je viens d'ajouter ma sortie attendue. – joafeldmann