Ja, fordi MongoDB helt sikkert vil bruge _id-indekset (idhack
).
I den anden metode - som du bemærkede - kan du ikke se, om et indeks vil blive brugt til et bestemt felt.
Så svaret vil være:det afhænger.
Hvis din samling har millioner af dokumenter eller mere, og/eller antallet af søgefelter er ret stort, bør du foretrække den første søgemetode. Især hvis id-listestørrelsen ikke er lille og/eller id-værdierne er tilstødende.
Hvis din samling er ret lille, og du kan tolerere en fuld scanning, foretrækker du måske den anden fremgangsmåde.
Under alle omstændigheder bør du bevidne begge metoder ved hjælp af explain()
.