はい。MongoDBは確かに_idインデックス(idhack
を使用するため) )。
2番目の方法では、観察したように、特定のフィールドにインデックスが使用されるかどうかはわかりません。
したがって、答えは次のようになります。それは状況によって異なります。
コレクションに数百万以上のドキュメントがある場合、および/または検索フィールドの数が非常に多い場合は、最初の検索方法を選択する必要があります。特に、IDリストのサイズが小さくない場合やID値が隣接している場合。
コレクションがかなり小さく、フルスキャンに耐えられる場合は、2番目のアプローチをお勧めします。
いずれの場合も、explain()
を使用して両方のメソッドを証明する必要があります 。