Mongodb сопоставить категории с товарами
Есть 2 коллекции, categories и products. У каждого товара есть массив с id категории, к которой он принадлежит
{ title: 'товар', categories: [34] }
Сам документ категории выглядит примерно так:
{ title: 'Категория', id: 34 }
каким образом я могу получить список категорий, с количеством товаров которые к ним относятся?
Скорее всего это делается через агрегации, но в mongo я не силён, буду рад подсказке
Ответы (1 шт):
Автор решения: Tema K
→ Ссылка
db.getCollection('categories').aggregate([
{$lookup:
{
from: "products",
localField: "categories",
foreignField: "id",
as: "products"
}
},
{$project: {"title":"$title", "id": "$id", "count": { "$size":"$products" }}}
])