Ano, protože MongoDB bude určitě používat index _id (idhack
).
Ve druhé metodě - jak jste si všimli - nemůžete říci, zda bude pro určité pole použit index.
Odpověď tedy bude:záleží.
Pokud má vaše sbírka miliony dokumentů nebo více a/nebo je počet vyhledávacích polí poměrně velký, měli byste dát přednost první metodě vyhledávání. Zvláště pokud velikost seznamu id není malá a / nebo hodnoty id sousedí.
Pokud je vaše sbírka poměrně malá a můžete tolerovat úplné skenování, můžete preferovat druhý přístup.
V každém případě byste měli obě metody ověřit pomocí explain()
.