Operador NIN MONGODB

Operador NIN MONGODB
O operador $ NIN em MongoDB é usado para selecionar os documentos em que um valor de um campo especificado não está em uma determinada matriz.

Vamos explorar como podemos usar este operador.

Sintaxe do operador

A seguir, mostra a sintaxe do operador $ NIN:

Field: $ nin: [,…]

Vamos explorar como podemos usar este operador.

Considere a coleção com o documento, como mostrado na consulta abaixo:

dB.CreateCollection ("Postagens")
dB.Postagens.InsertMany ([
Title: "Post_1", Autor: "Author_1", Ano: 2022, Categoria: ["Cat1", "Cat2"],
Title: "Post_2", Autor: "Author_2", Ano: 2022, Categoria: ["Cat1", "Cat3"],
Title: "Post_3", Autor: "Author_3", Ano: 2022, Categoria: ["Cat3", "Cat2"]
]))

Selecione documentos inigualáveis ​​usando o operador $ nin

A consulta de exemplo abaixo mostra como usar o operador $ nin para selecionar documentos em que o valor do campo do autor não é igual a 1 ou 3.

dB.Postagens.encontre (autor: $ nin: ["autor_1", "autor_3"]);

A consulta acima deve selecionar os documentos que não correspondem à condição especificada e retorne a saída relevante.

Um exemplo é como mostrado:


"_id": objectId ("632BF2014E8DEE924A2279AD"),
"Title": "post_2",
"Autor": "Author_2",
"Ano": 2022.0,
"categoria" : [
"Cat1",
"Cat3"
]

Selecione o elemento não em uma determinada matriz usando o operador $ nin

Também podemos usar o operador $ nin para filtrar quaisquer documentos que não incluam um determinado elemento na matriz.

Por exemplo, na consulta abaixo, usamos o operador $ nin para filtrar qualquer documento que não contenha Cat2 na matriz de categoria.

dB.Postagens.encontre (categoria: $ nin: ["cat2"])

Como esperado, a consulta acima deve devolver quaisquer documentos que não contenham o elemento especificado na matriz.


"_id": objectId ("632BF2014E8DEE924A2279AD"),
"Title": "post_2",
"Autor": "Author_2",
"Ano": 2022.0,
"categoria" : [
"Cat1",
"Cat3"
]

Atualizar dados usando o operador $ nin

Também podemos usar o Operador $ NIN com o Método UpdateOne ou UpdateMany (). Um exemplo é como mostrado abaixo:

dB.Postagens.updatemany (categoria: $ nin: ["cat2"], $ set: exclude: true)

Nesse caso, a consulta deve atualizar a coleção com os documentos que não correspondem à condição especificada.

Conclusão

Nesta postagem, discutimos como podemos usar o operador $ nin em MongoDB para selecionar documentos inigualáveis, selecionando documentos não em uma determinada matriz e etc.