explain
を実行する必要があります クエリに対して、何が起こっているのかを理解するのに役立ちます。
Mongoは、フィルタリングと並べ替えの両方にインデックスを使用していない可能性があります。 $or
を使用する場合 、オプションを一致させるために複数のインデックスを使用できます。ただし、sort
を追加すると フィルタリングに使用できるインデックスを使用しない場合があります。
クエリで並べ替える場合は、並べ替えられたフィールドがヒットするインデックスに含まれていることを確認する必要があります(最後、または並べ替えに使用できません)。
インデックスヒントを渡すことで、速度を上げることもできるかもしれません。クエリが一致するドキュメントの数はわかりませんが、数が少なく、初期条件がインデックスに一致していることを確認した場合は、_id
で並べ替えてください。 すばやく実行できます。