MongoDB proporciona diferentes tipos de operadores lógicos de consulta y el operador $or es uno de ellos. Este operador se utiliza para realizar operaciones OR lógicas en la array de dos o más expresiones y seleccionar o recuperar solo aquellos documentos que coincidan con al menos una de las expresiones dadas en la array.
- Puede usar este operador en métodos como find(), update(), etc. según sus requisitos.
- También puede usar este operador con consultas de texto, consultas geoespaciales y operaciones de clasificación.
- Cuando MongoDB evalúa las cláusulas en la expresión $or, realiza un escaneo de colección. O si todas las cláusulas en $or expresión son compatibles con los índices, entonces MongoDB realiza exploraciones de índice.
- También puede anidar $u operación.
Sintaxis:
{ $or: [ { Expression1 }, { Expression2 }, ..., { ExpressionN } ] }
En los siguientes ejemplos, estamos trabajando con:
Base de datos: GeeksforGeeks
Colección: contribuyente
Documento: tres documentos que contienen los detalles de los contribuyentes en forma de pares de valor de campo.
Coincidencia de valores mediante el operador $or:
En este ejemplo, estamos recuperando solo los documentos de los empleados cuya sucursal es ECE o el año de incorporación es 2017.
Python3
db.contributor.find({$or: [{branch: "ECE"}, {joiningYear: 2017}]}).pretty()
Coincidencia de valores en documentos anidados/incrustados mediante el operador $or:
En este ejemplo, estamos recuperando solo los documentos de los empleados cuya edad es 24 o cuyo estado es Delhi.
Python3
db.contributor.find({$or: [{"personal.age": 24}, {"personal.state": "Delhi"}]}).pretty()
Coincidencia de valores en una array usando $or operador:
En este ejemplo, estamos recuperando solo los documentos de los empleados que al menos coincidan con uno de los valores en la array dada.
Python3
db.contributor.find({$or: [{language: {$in: ["Java", "C"]}}]}).pretty()
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA