MongoDBは、$ or操作の各句を個別のクエリとして実行し、後処理パスとして重複を削除します。そのため、各句は個別のインデックスを使用できます。これは多くの場合非常に便利です。
つまり、1つのドキュメントを調べず、どのOR句が適用されるかを確認し、最初の句が一致する場合はアーリーアウトを実行します。むしろ、句ごとに完全なデータセットクエリを実行し、事後に重複排除します。これは効率的ではないように思われるかもしれませんが、実際には、最初のアプローチではすべての句に対して最大で1つのインデックスしかヒットできないため、ほとんどの場合高速です。