Я пытаюсь подсчитать элементы из двух массивов в одной модели:
Модель:
{_id:1
name:"fun",
objectsTypeA: [
objectId_1
objectId_2
],
objectsTypeB: [
objectId_5
objectId_9
]
},
{_id:2
name:"boring",
objectsTypeA: [
objectId_3
objectId_4
],
objectsTypeB: []
}
Я пытаюсь получить следующий результат:
[
{ name:"fun",
id: 1,
count:4
},
{ name:"boring",
id: 2,
count: 2
]
То, что я получил до сих пор, это:
Object.aggregate([
{$project: {_id:1, name:1, objectsTypeA:1}},
{$unwind:'$objectsTypeA'},
{$group: {
_id: "$name",
taggableId: {$addToSet:'$_id'},
count: { $sum: 1}
}},
], function(err, t){
if (!err){
res.jsonp(t);
}
});
Это в значительной степени то, что я хочу, но это работает только для одного из двух массивов моей модели, я ищу совет о том, как достичь такого результата, если это действительно возможно.
Заранее спасибо.