0
У меня есть две разные коллекции мангуст следующим образом:MongoDB поиск + группа по с мангуста
{ "_id" : 1, "countryId" : 1, "price" : 12, "quantity" : 24 }
{ "_id" : 2, "countryId" : 2, "price" : 20, "quantity" : 1 }
{ "_id" : 3 }
{ "_id" : 4, "countryId" : 1, "price" : 12, "quantity" : 24 }
{ "_id" : 1, "id" : 1, description: "Colombia"}
{ "_id" : 3, "id" : 2, description: "Mexic" }
Я пытаюсь объединить их, так что я могу получить результат следующим образом:
{"country":"Colombia","total":48}
{"country":"Mexic","total":1}
Я пробовал много вещей, но он всегда терпит неудачу. Это последняя версия того, над чем я работаю (я изменил данные, но вы поняли эту идею):
Model.aggregate([
{
$lookup:
{
from: "countryList",
localField: "countryId",
foreignField: "id",
as: "country"
},
{
$project: {
quantity:1, country:{$country:"$countryList.description"}
}
},{
$group:{
{ _id : null, qtyCountry: { $sum: "$quantity" } }
}
}
}],function (err, result) {
if (err) {
console.log(err);
} else {
console.log(result)
}
}
);
Возможно ли это?
он работает до поиска, то разматывает результат в пустом массиве; /, если я удалить размотать я получаю { "страна": [], "всего": 4234}, {"country": [], "total": 43} –
@ Cam.phiefr обновил мой ответ ... Изменена коллекция поиска из страны в странуList – 4J41
Спасибо, отлично работает !. –