問題タブ [in-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
332 参照

mongodb - 注文のインデックス作成を使用した Mongo $in

この「スキーマ」に続くコレクションがあります。

そして、このように定義されたインデックス:

このような検索クエリを実行する場合:

としてsort定義された

クエリは正常に実行され、インデックスはクエリをカバーし、説明計画は私を示しています:

  • 4 IXSCAN
  • 1 SORT_MERGE
  • 1 フェッチ

問題: クエリを実行した場合fieldA(fieldB結合のよう $inものを作成しようとしている)、インデックス作成が同じように動作せず、クエリがカバーされず、並べ替えがメモリ内で行われ、説明計画が表示されます。自分 :

  • 1 イクススキャン
  • 1 フェッチ
  • 1 SORT_KEY_GENERATOR
  • 1ソート

さらに悪いことに、このクエリを Mongoose から実行すると、並べ替え操作でメモリ不足になります:/