Operador MongoDB OR
Ya hemos visto el funcionamiento del Operador MongoDB AND en el cual podíamos realizar operaciones en las cuales se cumpliesen dos condiciones o filtros. En este caso vamos a ver como realizar operaciones que se pueden realizar cuando se cumpla un campo u otro. Para ello vamos revisar el uso del operador MongoDB OR.
Estructura del operador $or
Sección titulada «Estructura del operador $or»La estructura es muy similar al operador MongoDB AND, pero en este caso vamos a utilizar el elemento $or. La estructura del operador MongoDB es la siguiente:
db.coleccion.find({$or:[{filtro1},{filtro2},...{filtroN}]});Colección de ejemplo
Sección titulada «Colección de ejemplo»De esta forma si, de nuestra colección de ciudades:
{ "_id" : ObjectId("525ab02733b01a66a9dcbc5b"), "ciudad" : "Madrid", "habitantes" : 3233527 }{ "_id" : ObjectId("525ab02733b01a66a9dcbc5c"), "ciudad" : "Barcelona", "habitantes" : 1620943 }{ "_id" : ObjectId("525ab02733b01a66a9dcbc5d"), "ciudad" : "Valencia", "habitantes" : 797028 }{ "_id" : ObjectId("525ab02733b01a66a9dcbc5e"), "ciudad" : "Sevilla", "habitantes" : 702355 }{ "_id" : ObjectId("525ab02733b01a66a9dcbc5f"), "ciudad" : "Zaragoza", "habitantes" : 679624 }Concatenar filtros con $or
Sección titulada «Concatenar filtros con $or»Queremos sacar ciudades que bien empiecen por M o bien empiecen por Z tendremos que utilizar nuestro operador MongoDB OR de la siguiente forma:
cursor = db.ciudades.find({$or:[{ciudad:/^M/},{ciudad:/^Z/}]});Vemos que cada una de las opciones que queramos concatenar con el operador MongoDB OR van dentro del array separadas por comas.
Recorrer el cursor
Sección titulada «Recorrer el cursor»Ya solo tenemos que mostrar el resultado recorriendo el cursor:
while (cursor.hasNext()){ printjson(cursor.next());}Como podéis comprobar el uso del operador MongoDB OR es muy sencillo. Solo hay que tener cuidado con el uso de las llaves, como en todo MongoDB ;-).
Descarga el código de Operador MongoDB OR
Descubre cómo utilizar el operador MongoDB OR para realizar consultas efectivas que combinan múltiples filtros y optimiza tus búsquedas en bases de datos.