YourDesire
@YourDesire
Я вообще по образованию бухгалтер...

Как посчитать количество товаров в категории в mondodb?

Пытаюсь осилить `mongodb` на примере интернет-магазина
Есть 2 коллекции:
- список категорий
- список товаров

У товара есть поле `category`, в котором хранится `_id` категории, к которой он принадлежит
Например:

{ name: 'Product name'; 'category': ObjectId("5b6d68b787364230a4c353e2") }


Самое простое что пришло в голову - завести поле `productsCount` в категориях, которое будет обновляться при вставке/удалении товаров. Но это ИМХО жесть.

Собственно, вопрос: как посчитать количество товаров в категории и при этом не "положить сервак" и не городить костыли?
Или монга для таких задач не подходит?
Или я решаю ее криво?

----
...даешь markdown в тостер!
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
@adm666
Оказалось просто
db.XX.aggregate( [ {$project: {_id:0, name:1}},
{$group: {_id: "$name", total:{$sum:1} } }
])

на группировке надо складывать по +1 для каждого имени :)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@eavam
db.products.count( { category: { $gt: ObjectId("5b6d68b787364230a4c353e2") } } )

Может поможет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы