私はモンゴ/ノードにおける用語のコレクションからカテゴリツリーを構築しようとしているが、最初、私は$を使用してすべてのツリーの要素を選択中:MongoDBの内のtoArray性能
console.time('termsCol.find');
var terms = await termsCol.find({term_id: {'$in': flatTree}});
console.timeEnd('termsCol.find');
console.time('termsCol.toArray');
terms = await terms.toArray();
console.timeEnd('termsCol.toArray');
これが実行されます。
termsCol.find: 0.162ms
termsCol.toArray: 30.910ms
を
私はtoArrayのパフォーマンスについての記事を読んでいますが、何かが変更されたかどうかを知りたいのですが、これはページのリクエスト中にほとんどの時間がかかるためです。
私はそのコレクションにインデックスを持っており、〜0.15ms以内に300語を返しますが、jsでさらにデータを使用するために30ミリ秒を待たなければならないときは役に立ちません。
このtoArrayビジネスを改善する方法がない場合は、おそらくキャッシュコレクションを作成し、そこに完全な用語ツリーを格納します(16MBに収まることを望みます)。