J'ai une collection appelée contract
et je voudrais group using "a_id"
MongoDB: obtenir la liste des valeurs à l'aide du groupe
{
a_id: 1,
"name": "n1"
}
{
a_id: 2,
"name": "n2"
}
{
a_id: 1,
"name": "n3"
}
{
a_id: 1,
"name": "n4"
}
{
a_id: 2,
"name": "n5"
}
Je veux group by "a_id"
me montrer la liste des noms associés.
{
a_id: 1,
values: ["n1", "n3", "n4"]
}
{
a_id: 2,
values: ["n2", "n5"]
}
Mon code:
db.contract.group({
key:{a_id: 1},
initial: {v: ''},
reduce: function(doc, obj){
v = v + " " + obj.name
}
});
Ma sortie:
{
"a_id" : 1,
"v" : ""
},
{
"asset_id" : 2,
"v" : ""
}
Cela ne retourne pas la liste des valeurs, mais journaux mongd me montre la liste des noms, comment puis-je corriger cela?
fixe
db.contract.group({
key:{a_id: 1},
initial: {v: []},
reduce: function(obj, prev){
prev.v.push(obj.name)
}
});