Operador de NIN de MongoDB

Operador de NIN de MongoDB
El operador de $ NIN en MongoDB se usa para seleccionar los documentos donde un valor de un campo especificado no está en una matriz determinada.

Explore cómo podemos usar este operador.

Sintaxis del operador

Lo siguiente muestra la sintaxis del operador $ NIN:

campo: $ nin: [,…]

Explore cómo podemos usar este operador.

Considere la colección con el documento como se muestra en la consulta a continuación:

db.CreateCollection ("Publicaciones")
db.postes.insertmany ([
Título: "Post_1", Autor: "Autor_1", Año: 2022, Categoría: ["Cat1", "Cat2"],
Título: "Post_2", autor: "Autor_2", año: 2022, Categoría: ["Cat1", "Cat3"],
Título: "Post_3", autor: "Autor_3", año: 2022, Categoría: ["Cat3", "Cat2"]
])

Seleccione documentos inigualables utilizando el operador $ NIN

La consulta de ejemplo a continuación muestra cómo usar el operador $ NIN para seleccionar documentos donde el valor del campo del autor no es igual a 1 o 3.

db.postes.find (autor: $ nin: ["autor_1", "autor_3"]);

La consulta anterior debe seleccionar los documentos que no coinciden con la condición especificada y devolver la salida correspondiente.

Un ejemplo es como se muestra:


"_id": ObjectId ("632BF2014e8dee924a2279ad"),
"Título": "Post_2",
"Autor": "Autor_2",
"Año": 2022.0,
"categoría" : [
"Cat1",
"Cat3"
]

Seleccione el elemento no en una matriz determinada utilizando el operador $ nin

También podemos usar el operador $ NIN para filtrar cualquier documento que no incluya un elemento dado en la matriz.

Por ejemplo, en la consulta a continuación, usamos el operador $ NIN para filtrar cualquier documento que no contenga CAT2 en la matriz de categorías.

db.postes.find (categoría: $ nin: ["cat2"])

Como se esperaba, la consulta anterior debe devolver cualquier documento que no contenga el elemento especificado en la matriz.


"_id": ObjectId ("632BF2014e8dee924a2279ad"),
"Título": "Post_2",
"Autor": "Autor_2",
"Año": 2022.0,
"categoría" : [
"Cat1",
"Cat3"
]

Actualizar datos utilizando el operador de $ NIN

También podemos usar el operador $ NIN con el método UpdateOne o UpdateMany (). Un ejemplo es como se muestra a continuación:

db.postes.UpdateMany (Categoría: $ nin: ["Cat2"], $ Set: Exclude: true)

En este caso, la consulta debe actualizar la colección con los documentos que no coinciden con la condición especificada.

Conclusión

En esta publicación, discutimos cómo podemos usar el operador $ NIN en MongoDB para seleccionar documentos inigualables, seleccionando documentos que no estén en una matriz determinada, etc.