Ja, denn MongoDB wird sicherlich den _id-Index verwenden (idhack
).
Bei der zweiten Methode können Sie - wie Sie beobachtet haben - nicht sagen, ob ein Index für ein bestimmtes Feld verwendet wird oder nicht.
Die Antwort wird also lauten:Es kommt darauf an.
Wenn Ihre Sammlung Millionen von Dokumenten oder mehr umfasst und / oder die Anzahl der Suchfelder ziemlich groß ist, sollten Sie die erste Suchmethode bevorzugen. Besonders wenn die Größe der ID-Liste nicht klein ist und / oder die ID-Werte nebeneinander liegen.
Wenn Ihre Sammlung ziemlich klein ist und Sie einen vollständigen Scan tolerieren können, bevorzugen Sie möglicherweise den zweiten Ansatz.
In jedem Fall sollten Sie beide Methoden mit explain()
bezeugen .