Como usar onde o operador em MongoDB

Como usar onde o operador em MongoDB
MongoDB fornece um forte sistema de consulta suportado por vários comandos e operadores. Existe uma longa lista de operadores (como $ tamanho, $ onde, $ gt, $ regex e muito mais) que estenderam o uso do MongoDB para cumprir a funcionalidade básica de qualquer banco de dados. O $ onde o operador pertence à classe de operadores de consulta de avaliação e pode ser exercido para passar por uma função de string ou javascript baseada em javascript ou javascript. O $ onde o operador é usado no MongoDB para obter apenas os documentos que correspondem às expressões JavaScript.

Neste post descritivo, fornecemos uma visão do uso de $ onde o operador no contexto do MongoDB.

Como $ onde funciona em MongoDB

Percebe -se que o $ onde o operador é usado raramente em comparação com outros operadores padrão do MongoDB como $ GT, $ LT, $ in e $ Nin.

Como mencionado anteriormente, o $ em que o operador trabalha apenas para seqüências baseadas em JS ou apenas suas funções e a sintaxe para usar $ onde o operador é mencionado abaixo:

$ where:

Observa -se que $ onde o operador não pode ser executado com poucas funções padrão do MongoDB como dB. O $ WHERE Operador, juntamente com operações de redescência do mapa em MongoDB, suporta várias funções JavaScript e, portanto, elas não podem ser usadas globalmente

Como usar $ onde em MongoDB

As seguintes instâncias de MongoDB são usadas neste guia:

Base de dados: O banco de dados usado aqui é chamado “Linuxhint““.

Nome da coleção: A coleção que é exercida neste artigo é nomeada “notas““.

E os documentos contidos por “notas”A coleção é mostrada abaixo:

> dB.funcionários.encontrar().bonito()

Observação: C1, C2, C3, C4 são assumidos como Cursos IDs na saída acima.

Exemplo 1: Uso básico de $ onde operador

Antes de entrar em detalhes, você deve lembrar que as duas palavras -chave, ou “esse" ou "obj”São usados ​​para se referir a documentos na função JS ou na expressão JS.

Referindo -se aos documentos no “notas" coleção:

Comando 1: O comando escrito abaixo procurará documentos e exibirá apenas aqueles que possuem os mesmos valores em diferentes campos:

Como você pode verificar se a saída contém apenas “um”Documento onde os valores de“C1" e "C2" corresponder.

> dB.notas.encontre ($ where: "este.C1 == isso.C2 ").bonito()

Comando 2: A mesma saída (como em Comando 1) pode ser alcançado emitindo o comando declarado abaixo em Mongo Shell. Aqui o "obj'A palavra -chave é usada em vez de “esse““.

> dB.notas.encontre ($ where: "obj.C1 "==" obj.C2 ").bonito()

Comando 3: Você também pode usar o $ WHERE Operator, como realizamos no comando abaixo. No comando a seguir, uma função () retornará os documentos obtidos pela aplicação “obj" e "essePalavra -chave, o valor de “C1" e "C3" partidas.

> dB.notas.encontre ($ where: function () return (este.C1 == isso.C3)).bonito()

Comando 4: A aplicação da função js () com $ onde o operador também pode ser alcançado usando o “obj"Palavra -chave em vez de"esse““. Para isso, você pode executar o seguinte comando:

> dB.notas.encontre ($ where: function () return obj.C1 == obj.C3).bonito()

Exemplo 2: $ onde age sem usá -lo no comando

Se o seu comando executar apenas o aplicativo do $ WHERE Operador, você poderá usar o comando sem especificar o $ onde a palavra -chave no comando. O comando de exemplo em uma situação como essa é declarado abaixo:

> dB.notas.encontre ("isso.C1 == isso.C2 ").bonito()

Ou o "obj”A palavra -chave também pode ser usada em vez de“esse”No comando acima.

> dB.notas.encontre ("obj.C1 == obj.C2 ").bonito()

Exemplo 3: Usando $ onde com operadores padrão do MongoDB

O $ onde o operador pode ser usado com vários outros operadores do MongoDB. Por exemplo, no comando abaixo mencionado, usamos menos de (<) operator with $ onde operador. O comando escrito abaixo procurará condições de ambos os operadores e, em seguida, qualquer documento satisfatório "==" ou "||"A condição será exibida na saída.

> dB.notas.encontre ("isso.pos1 == isso.Pos2 || isso.POS1 < this.pos2").pretty()

Observa-se ao trabalhar com o $ onde o operador que está pesquisando dentro da maior parte dos documentos pode se tornar demorado com o $ onde Operador porque o MongoDB é executado $ onde operador após qualquer outro operador padrão usado na consulta.

Conclusão

O MongoDB freqüentemente atualizava suas versões no passado, e o motivo era melhorar o desempenho e a eficácia de qualquer comando ou método do MongoDB, ou operador. Em MongoDB, o $ onde o operador pode ser usado para corresponder aos campos usando a expressão JS ou a função JS. Neste guia detalhado, fornecemos o uso do $ Where Operator em MongoDB. Após pesquisa detalhada e coleta de dados, chegamos ao ponto de que as alternativas de $ onde o operador deve ser preferido, como o $ onde o operador procura por toda a coleção antes de fornecer a saída.