Consulta de filtro MongoDB

Consulta de filtro MongoDB
A agregação do filtro MongoDB foi introduzida na versão 3.2. É usado para escolher um subconjunto de uma matriz e fornecer o resultado com base em critérios. O operador de filtro retorna uma variedade de entradas que se encaixam no critério fornecido na ordem em que foram encontradas. Ao usar o operador de filtro em MongoDB, devemos fornecer a entrada, como e cond como argumentos. Entrada e cond são os parâmetros necessários, no entanto, "como" é opcional. Devemos usar o sinal $ antes da palavra -chave do filtro quando usamos o operador de filtro em MongoDB.

Sintaxe da consulta de filtro MongoDB no Ubuntu 20.04?

O operador $ filtro fornece uma matriz com apenas os elementos na ordem original que correspondem à condição. Mencionado abaixo está a sintaxe de $ filtro:

$ filtro: input: , como: , cond:
  • Filtro: O operador de $ filtro é usado para fornecer um resultado que atenda a determinados critérios. No MongoDB, usamos o operador de filtro para filtrar os resultados com base no critério que especificamos na consulta.
  • Entrada: esta é uma expressão de resolução de matriz. Conseguimos passar no campo da matriz como um parâmetro de entrada para filtrar os registros. Antes de usarmos o parâmetro de campo de entrada no operador do filtro, devemos usar o $ SIGN.
  • AS: é um argumento do operador de filtro que é opcional. Este é o nome do campo que foi utilizado como um elemento na matriz de entrada. Este parâmetro é do tipo de string no operador de filtro. Usando a palavra -chave "AS", essa expressão acessa cada elemento em uma matriz de entrada.
  • cond: esta opção determina onde o valor da matriz gerada deve ser incluído. Este parâmetro é do tipo de expressão no operador de filtro. Os valores da coleção fornecida foram filtrados usando expressão. Podemos usar inúmeros operadores condicionais para filtrar dados de elementos de matriz.

Como a consulta do filtro funciona em MongoDB no Ubuntu 20.04:

Um operador de filtro MongoDB $ é usado para filtrar documentos de uma matriz com base em uma condição que definimos em nossa consulta. Com base na condição fornecida, retorna um subconjunto de uma matriz. Somente aquelas entradas de matriz que atendem aos requisitos são devolvidas. Os elementos são remontados no mesmo arranjo que antes.

Vejamos alguns casos para ajudá -lo a entender o que estamos discutindo. Ao prosseguirmos com o artigo, gostaríamos que você experimente os exemplos no Mongo Shell. Começamos criando uma coleção de banco de dados que utiliza ao longo do artigo.

Aqui, definimos uma coleção do banco de dados como "candidatos" usando o Shell MongoDB. Para esta coleção, temos o ID, nome e marcas em campo definido. Inserimos sete documentos ao mesmo tempo usando a consulta InsertMany.

A coleção "candidatos" está invocando a função de localização como na consulta acima. Em seguida, o documento registrado exibe o campo e seus valores correspondentes. Observe que no campo “Marcas”, a matriz é definida com alguns valores aleatórios.

Exemplo 1: Usando o operador $ filtro em MongoDB no Ubuntu 20.04:

O operador $ filtro é usado para filtrar os membros da matriz no campo “Marcas” da coleção fornecida no exemplo a seguir:

Utilizamos a consulta agregada na coleção de "candidatos". Dentro desta consulta, temos o operador de Match $ que é usado para filtrar o documento pelo ID. Atribuímos o campo de identificação A $ no operador. O $ no operador encontra documentos em que o valor do ID é igual a qualquer valor na matriz fornecida. Em seguida, o operador $ filtro é aprovado no argumento de entrada e define seu valor "$ marks". O parâmetro “AS” também é usado que retorna o nome do campo “Marcas”. Em seguida, especificamos o parâmetro cond que usa o maior que o operador no campo “$$ marcas”.

Seguindo a consulta acima, o resultado que obtemos é mostrado na figura com o novo nome de campo Highmarks.

Exemplo 2: Usando o operador $ filtro para uma matriz vazia em MongoDB no Ubuntu 20.04:

Quando um de nossos documentos de coleção tem uma matriz vazia, o operador de filtro retorna um conjunto de matrizes vazios, como pode ser visto aqui:

Dentro da partida $, especificamos o ID que possui o $ no operador que retorna o ID "7" da coleção, como demos "7" dentro de uma matriz. Em seguida, a consulta $ filtro forneceu o campo de coleta "Marcas", que retorna uma matriz vazia porque nenhum valor é armazenado dentro do campo "Marcas" de ID "7".

O resultado do operador do filtro tem um conjunto vazio do documento aqui.

Exemplo 3: Usando o operador $ filtro para o tipo errado em MongoDB no Ubuntu 20.04:

Se tentarmos usar o filtro $ em um campo que não tiver uma matriz, receberemos um erro. A seguir é a demonstração desta declaração.

Demos um "nome" de campo do documento cujo ID é "5" dentro do operador $ filtro. No parâmetro cond de $ filtro, temos o operador $ eq que pega o campo "$ nome" e corresponde ao valor da string definido a ele.

Quando executamos a consulta acima, a mensagem de erro mostra que o tipo deve ser uma matriz no operador $ filtro, como visto na figura.

Exemplo 4: Usando o operador $ filtro com a $ esta variável em mongodb no Ubuntu 20.04:

Usamos o parâmetro "AS" para dar à variável um nome nos casos anteriores. O parâmetro AS é opcional. Se definirmos este campo em branco, o nome da variável será "isso" por padrão.

Aqui, especificamos a matriz em $ no operador, que seleciona os campos de identificação dos documentos da coleção fornecida dentro da partida $. Em seguida, o $ FILTER possui dois parâmetros, entrada e cond. O parâmetro cond tem o maior que o operador que recupera as marcas maiores que 65. Não os usamos como parâmetro, em vez disso, utilizamos o nome desse campo neste campo.

Portanto, usando $$ isso para fazer referência ao campo, obtivemos os mesmos resultados do "AS". A saída está satisfeita com a condição de Match $ e a condição de $ filtro vista na imagem.

Conclusão:

Este é um guia de filtro MongoDB. Neste artigo, passamos pela definição, sintaxe e como os filtros funcionam em MongoDB. Exemplos e implementação de código também são fornecidos. Os elementos do campo de matriz são filtrados usando o operador de filtro MongoDB. Para recuperar dados dos elementos da matriz, utilizamos várias condições, como $ GT, $ LT, $ GTE e $ LTE.