MongoDB proporciona diferentes tipos de operadores de consulta de comparación y el operador $in es uno de ellos. Este operador se utiliza para seleccionar aquellos documentos donde el valor del campo es igual a cualquiera de los valores dados en la array. Y si el campo contiene una array, este operador selecciona solo aquellos documentos cuyo campo contiene una array que contiene al menos un elemento que coincide con un valor de la array especificada. Puede usar este operador en métodos como find(), update(), etc. según sus requisitos.
Sintaxis:
{field: {$in: [value1, value2, value3, ...]}}
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 usando el $in
operador:
En este ejemplo, estamos recuperando solo los documentos de los empleados cuyo nombre es Amit o Suman.
db.contributor.find({name: {$in: ["Amit", "Suman"]}}).pretty()
Coincidencia de valores en una array usando el $in
operador:
En este ejemplo, estamos recuperando solo los documentos de los empleados que trabajan con C#, Python o ambos lenguajes.
db.contributor.find({language: {$in: ["C#", "Python"]}}).pretty()
Coincidencia de valores en documentos incrustados/anidados mediante el $in
operador:
En este ejemplo, estamos recuperando solo los documentos de los empleados que obtuvieron las calificaciones dadas en su semestre.
db.contributor.find({"personal.semesterMarks":{$in: [80, 89, 78]}}).pretty()
Actualización de datos usando el $in
operador:
En este ejemplo, estamos agregando un nuevo par de valor de campo (es decir, salario: 10000) en los documentos de Amit y Suman usando el método update() con operadores $in y $set.
db.contributor.update({name: {$in: ["Amit", "Suman"]}}, {$set: {salary: 10000}})
Nota: El update()
método por defecto actualiza solo un documento a la vez. Si desea actualizar varios documentos, establezca el valor de su parámetro múltiple en verdadero. Entonces, en este ejemplo, el método update() actualizó el primer documento que coincide con la condición dada, como se muestra en la imagen a continuación.
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