Como usar $ in e $ Nin Operadores em MongoDB

Como usar $ in e $ Nin Operadores em MongoDB
O MongoDB suporta vários operadores para ajudar a recuperar o documento dos bancos de dados. As classes do operador suportadas por MongoDB incluem comparação, lógica, operadores de elementos e assim por diante. O $ in (pronunciado como "em") e $ nin (Não em) Operadores em MongoDB pertencem à classe de comparação de operadores de MongoDB. Esses operadores segmentam especificamente valores de matriz e podem filtrar a coleção com base em valores existentes ou inexistentes. Por exemplo, $ in O operador procura valores de matriz e exibe apenas os documentos que correspondem à matriz, enquanto $ nin O operador ajuda a exibir apenas os documentos que não contêm os valores (que são passados ​​para o operador de $ NIN).

Neste artigo, forneceremos um guia detalhado para usar $ in e $ nin Operadores em MongoDB:

Recomenda -se concluir os seguintes itens da lista de pré -requisitos para prosseguir para a aplicação desses operadores.

Pré -requisitos

Esta seção contém um conjunto de componentes do MongoDB que são necessários para serem adotados para seguir este guia:

  • Banco de dados MongoDB
  • Uma coleção dentro de um banco de dados
  • documentos em uma coleção

Nesta postagem, usaremos o seguinte banco de dados e uma coleção para aplicar $ in e $ NIN Operadores:

Nome do banco de dados: Linuxhint

Nome da coleção: Debian

Você também deve inserir alguns documentos em uma coleção.

Como usar $ in e $ Nin Operadores em MongoDB

Este artigo é dividido em duas partes; um refere -se ao $ no operador e o outro demonstra o uso do operador $ nin.

Em primeiro lugar, verificaremos os documentos disponíveis em nossa coleção (para que possamos executar ações de acordo).

Conecte -se ao seu MongoDB emitindo o seguinte comando no terminal Ubuntu: percebe -se que este comando se conectará automaticamente Mongo Shell também.

$ sudo mongo linuxhint

Depois disso, você pode obter a exibição de todos os documentos disponíveis em sua coleção: por exemplo, o comando a seguir ajudará a recuperar documentos disponíveis no “Debian" coleção:

> dB.Debian.encontrar().bonito()

Como usar $ no operador em MongoDB

O $ in O operador procurará a matriz e mostrará o documento que corresponde ao valor: a sintaxe de $ in está escrito abaixo:

"campo": $ in: ["value1", "value2",…]

Você deve especificar o nome do campo e os valores que deseja procurar:

Exemplo 1: Usando $ in para corresponder a um valor

O $ no operador pode ser usado para corresponder a um valor em um campo e imprimirá os documentos que correspondem a esse valor. Por exemplo, o comando a seguir exibirá todos os documentos que "num“(Campo) é igual ao valor“20“: Como apenas um documento contém valor“20“; Assim, apenas esse é impresso:

> dB.Debian.encontre (num: $ in: [20]).bonito()

Exemplo 2: Usando $ in para corresponder a um (s) valor (s) da matriz

Além disso, você também pode usar o $ no operador para procurar valores de matriz no banco de dados MongoDB. No nosso caso, o comando mencionado abaixo exibirá os documentos que têm valores “Mike" e "Jack" em "Autores ” campo:

> dB.Debian.encontre (autores: $ in: ["Mike", "Jack"]).bonito()


Exemplo 3: Usando $ in para combinar com expressões regulares

O $ em operador também pode ser usado para corresponder aos valores especificados por uma expressão regular: o comando mencionado abaixo exibirá documentos que contêm um campo “Tipo”E as cordas no campo começam com“ab" ou "cd“:

> dB.Debian.encontre (type: $ in: [/^ab/,/^cd/]).bonito()

Como usar o $ NIN Operador em MongoDB

O operador de $ nin em MongoDB atua oposto a $ in; Como $ Nin, exibirá o documento que não contém o valor especificado. A sintaxe é semelhante de $ in e é mostrada abaixo:

"arquivado": $ nin: ["value1", "value2"…]

Exemplo 1: Usando $ nin para corresponder a um valor

Como já mencionado, esse operador $ NIN não exibe o documento que corresponde a um valor. O comando abaixo exibirá os documentos que não contêm “20" em "num" campo:

A saída abaixo mostra que os documentos impressos não contêm valor “20“:

> dB.Debian.encontre (num: $ nin: [20]).bonito()

Exemplo 2: Usando $ nin para corresponder a um valor de matriz

O comando a seguir exibirá os documentos que não contêm “Mike" e "John" no "Autores" campo. Como nenhum documento é deixado para trás porque todos os documentos têm “Mike" ou "John“Como autor, haverá uma saída vazia:

> dB.Debian.encontre (autores: $ nin: ["Mike", "John"]).bonito()

Exemplo 3: Usando $ nin para combinar com uma expressão regular

O operador $ NIN também é usado para obter os documentos com base em expressões regulares; Por exemplo, no comando abaixo mencionado, “Tipo”O campo está selecionado e $ Nin imprimirá os documentos em que“Tipo”O valor não começa com“ab" ou "cd“:

> dB.Debian.encontre (type: $ nin: [/^ab/,/^cd/]).bonito()

Observação: O "bonito()”O método usado neste artigo é apenas para obter a saída de forma estruturada; você pode usar apenas “encontrar()”Para obter o mesmo resultado, mas de uma maneira não estruturada.

Conclusão

Gerenciamento de dados adequado é a principal preocupação de qualquer organização. Eles precisam armazenar dados e a rápida recuperação de dados é preferida sempre que necessário. Vários sistemas de gerenciamento de banco de dados fornecem essa funcionalidade e o MongoDB é um deles. Neste post, descrevemos o uso de dois operadores “$ in" e "$ nin”Isso ajuda a recuperar valores de matriz em um banco de dados MongoDB. Esses operadores ajudam a obter os documentos necessários com base nos valores combinados por esses operadores. O $ no operador imprime o documento que contém a correspondência; enquanto $ nin imprime os documentos que não correspondem ao valor.