Я хочу объединить из коллекции 2 поля:
var StatusSchema = mongoose.Schema({
Demonstrator: SchemaTypes.Long,
DemoBetriebsbereit: Boolean
}
Моя функция агрегирования должна агрегироваться по демонстранту, а также по полю DemoBetriebsbereit, а затем подсчитывать случаи для каждой комбинации.
Функция агрегирования выглядит следующим образом:
exports.getStatusDemonstrators = function(req,res) {
Status.aggregate([
{
$match: {
"DemoBetriebsbereit": {$exists:1}
}
},
{
$group: {
_id: {Demonstrator: "$Demonstrator", betriebsbereit:
"$DemoBetriebsbereit"}, Anzahl: {$sum:1}
}
}
]).exec(function(error, status) {
if (error) {
res.send(error);
}
else {
res.json(status);
}
});
}
Вывод такой:
[{"_id":{"Demonstrator":9,"betriebsbereit":false},"Anzahl":1},{"_id":{"Demonstrator":2,"betriebsbereit":false},"Anzahl":1},{"_id":{"Demonstrator":3,"betriebsbereit":false},"Anzahl":1},{"_id":{"Demonstrator":10,"betriebsbereit":false},"Anzahl":1},{"_id":{"Demonstrator":2,"betriebsbereit":true},"Anzahl":9},{"_id":{"Demonstrator":8,"betriebsbereit":false},"Anzahl":1},{"_id":{"Demonstrator":9,"betriebsbereit":true},"Anzahl":8},{"_id":{"Demonstrator":1,"betriebsbereit":true},"Anzahl":5},{"_id":{"Demonstrator":6,"betriebsbereit":true},"Anzahl":7},{"_id":{"Demonstrator":10,"betriebsbereit":true},"Anzahl":8},{"_id":{"Demonstrator":7,"betriebsbereit":false},"Anzahl":1},{"_id":{"Demonstrator":3,"betriebsbereit":true},"Anzahl":10}]
Однако я бы хотел, чтобы результат был таким:
{Demonstrator:10, series: [{betriebsbereit: true, Anzahl: 8}, {betriebsbereit: false, Anzahl:1}]},{Demonstrator:9, series: [...]},...
в таком формате, чтобы я мог поместить его прямо в диаграмму ngx.