Количество товаров в категории в mongodb (FluentMongo) - PullRequest
0 голосов
/ 08 сентября 2011

Я пытаюсь решить проблему производительности с mongodb, и одна из проблем заключается в том, что система считывает количество продуктов в каждой категории при каждой загрузке страницы. Проект использует C # и FluentMongo для доступа к базе данных. (и это была не моя идея:)

В идеале я хочу получить такой categoryid: количество товаров в одном запросе.

Каждый продукт может принадлежать нескольким категориям.

Код, который я пытаюсь улучшить:

int count = _products.AsQueryable().Where(p => p.Categories.Any(c => c.Id == category.Id)).Count();

и выполняется сто раз ....

1 Ответ

1 голос
/ 05 октября 2011

Вам понадобится использовать map limit для выполнения этого типа запроса. FluentMongo может сделать небольшую карту / уменьшить автоматически для вас, но не на том уровне, который вы хотите. Проверьте карту / уменьшите документы MongoDB на http://www.mongodb.org/display/DOCS/MapReduce. Если вам все еще нужна помощь, есть группа пользователей MongoDB, которая также поможет на https://groups.google.com/forum/#!forum/mongodb-user.

...