我正在尝试修复mongodb的性能问题,其中一个问题是系统在每个页面加载时读取每个类别中的产品数量。 Project使用C#和FluentMongo来访问数据库。 (这不是我的想法:)。
理想情况下,我想获得这样的categoryid:产品数量作为一个请求。
每个产品可能属于多个类别。
我试图改编的代码是:
int count = _products.AsQueryable().Where(p => p.Categories.Any(c => c.Id == category.Id)).Count();
并执行了数百次......
答案 0 :(得分:1)
您将需要使用map reduce来执行此类查询。 FluentMongo能够为您自动执行一些小地图/缩小,但不能达到您想要的水平。在http://www.mongodb.org/display/DOCS/MapReduce查看地图/减少MongoDB文档。如果您仍然需要帮助,还有一个MongoDB用户组也可以在https://groups.google.com/forum/#!forum/mongodb-user处提供帮助。