0

我正在尝试解决 mongodb 的性能问题,其中一个问题是系统在每次页面加载时读取每个类别中的产品数量。项目使用 C# 和 FluentMongo 访问数据库。(这不是我的主意:)

理想情况下,我想获得这样的 categoryid :将产品计数作为一个请求。

每个产品可能属于多个类别。

我试图改进的代码是:

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

它被执行了数百次....

4

1 回答 1

1

您将需要使用 map reduce 来执行此类查询。FluentMongo 能够自动为您做一些 map/reduce,但不是您想要的级别。在http://www.mongodb.org/display/DOCS/MapReduce查看 map/reduce MongoDB 文档。如果您仍然需要帮助,还有一个 MongoDB 用户组可以在https://groups.google.com/forum/#!forum/mongodb-user上提供帮助。

于 2011-10-05T16:30:01.257 回答