Sí, porque MongoDB ciertamente usará el índice _id (idhack
).
En el segundo método, como observó, no puede saber si se usará o no un índice para un campo determinado.
Así que la respuesta será:depende.
Si su colección tiene millones de documentos o más, y/o el número de campos de búsqueda es bastante grande, debería preferir el primer método de búsqueda. Especialmente si el tamaño de la lista de ID no es pequeño y/o los valores de ID son adyacentes.
Si su colección es bastante pequeña y puede tolerar un escaneo completo, es posible que prefiera el segundo enfoque.
En cualquier caso, debe testificar ambos métodos usando explain()
.