sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo evalúa MongoDB múltiples declaraciones $or?

MongoDB ejecutará cada cláusula de la operación $or como una consulta separada y eliminará los duplicados como un pase de procesamiento posterior. Como tal, cada cláusula puede usar un índice separado que suele ser muy útil.

En otras palabras, NO mirará 1 documento, verá cuál de las cláusulas OR se aplica y realizará una salida anticipada si la primera cláusula coincide. Más bien, realiza una consulta de conjunto de datos completo por cláusula y elimina los duplicados después del hecho. Esto puede parecer poco eficiente, pero en la práctica casi siempre es más rápido, ya que el primer enfoque solo podría alcanzar como máximo un índice para todas las cláusulas, lo que rara vez es eficiente.