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.