0

mongodb のパフォーマンスの問題を修正しようとしていますが、問題の 1 つは、システムがページの読み込みごとに各カテゴリの製品数を読み取ることです。プロジェクトは C# と FluentMongo を使用してデータベースにアクセスします。(そして、これは私の考えではありませんでした:)

理想的には、そのような categoryid : count of products を 1 つの要求として取得したいと考えています。

各製品は複数のカテゴリに属する​​場合があります。

私が改善しようとしているコードは次のとおりです。

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 ドキュメントを確認してください。それでも助けが必要な場合は、https: //groups.google.com/forum/#!forum/mongodb-user にも MongoDB ユーザー グループがあります。

于 2011-10-05T16:30:01.257 に答える