MongoDB proporciona diferentes tipos de operadores de consulta de comparación y el operador $nin (not in) es uno de ellos. Este operador se utiliza para seleccionar aquellos documentos donde el valor del campo no es igual a ninguno de los valores dados en la array y el campo que no existe.
Si el campo contiene una array, este operador selecciona solo aquellos documentos cuyo campo contiene una array que no contiene ningún elemento que coincida con un valor de la array especificada. Puede utilizar este operador en métodos como find()
, update()
, etc. según sus requisitos.
Sintaxis:
{field: {$nin: [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 $nin
operador:
En este ejemplo, estamos recuperando solo los documentos de los empleados cuyo nombre no es Amit o Suman.
db.contributor.find({name: {$nin: ["Amit", "Suman"]}}).pretty()
Coincidencia de valores en una array usando el $nin
operador:
En este ejemplo, estamos recuperando solo los documentos de los empleados que no trabajan con C#, Python o ambos lenguajes.
db.contributor.find({language: {$nin: ["C#", "Python"]}}).pretty()
Coincidencia de valores en documentos incrustados/anidados mediante el $nin
operador:
En este ejemplo, estamos recuperando solo los documentos de los empleados cuya edad no es 25 o 22.
db.contributor.find({"personal.age": { $nin: [25, 22]}}).pretty()
Actualización de datos usando el $nin
operador:
En este ejemplo, estamos agregando un nuevo par de valor de campo (es decir, salario: 10000) en los documentos de aquellos empleados cuyo nombre no es Amit o Priya usando el método update() con operadores $in
y .$set
db.contributor.update({name: {$nin: ["Amit", "Priya"]}}, {$set: {salary: 1000}})
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 update()
método 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