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" }}}
])
→ Ссылка