Operador MonngoDB $

Operador MonngoDB $
Se você não é um novo usuário de bancos de dados ou programação, deve ter experimentado os programas e consultas que utilizam os operadores de comparação - maior que, menor que, igual a etc. No MongoDB, onde usamos o operador "$ set" para atualizar um registro de campo específico ou adicionar um novo registro ao banco de dados, também podemos obter o mesmo resultado usando os operadores de comparação como "$ min" e "$ max". No MongoDB, o operador "$ min" pode ser utilizado em muitas consultas de função para atualizar um campo específico quando um novo valor é menor que o valor já inserido. Além disso, ele pode ser utilizado para agrupar e exibir os registros de uma coleção em uma ordem específica. Este guia ajuda você com diferentes maneiras de lançar o operador "$ min" em MongoDB.

Exemplo 1:

Começando com a primeira ilustração, demonstramos o uso do operador "$ min" em MongoDB para atualizar um registro já inserido usando a ferramenta de shell do MongoDB no sistema Windows. Portanto, você deve ter alguns registros que já estão adicionados ao seu banco de dados. Então, usamos a consulta de função insertMany () para adicionar um total de 5 registros na coleção "Order" de um banco de dados de "teste". Cada um dos registros inseridos que são mostrados na ilustração a seguir contém um total de 4 campos - ID, título, price e impostos. Esses dados de 5 registros são inseridos com sucesso conforme a saída anexada:

Teste> dB.ordem.InsertMany (["id": 01, "title": "Soap", "Saleprice": 500, "Tax": 24,
… "Id": 02, "Title": "Shampo", "Saleprice": 700, "Tax": 27,
… "ID": 03, "Title": "Detergente", "Saleprice": 400, "Tax": 22,
… "ID": 04, "Title": "Perfume", "Saleprice": 900, "Tax": 30,
… "ID": 05, "Title": "Mist", "Saleprice": 850, "Tax": 27]))

É hora de olhar para o registro inserido em um banco de dados de "teste". Para isso, você precisa eliminar o método "find ()" junto com o método "foreach", tomando o "printjson" como um argumento na instrução "db". Usando a coleção chamada "Order", temos um registro exibido na tela.

Teste> dB.ordem.encontrar().foreach (printjson)

É hora de usar o operador "$ min" na consulta de função "UpdateOne" para atualizar um único registro da coleção "Order" que acabou de ser criada. O campo "ID" é usado como um identificador exclusivo para atualizar um registro específico de um banco de dados, enquanto o operador "$ min" é aplicado a um campo "SalePrice" para atualizar seu valor para 600 se for menor que o valor já inserido. A mensagem de saída mostra que a consulta é bem -sucedida, mas nenhuma atualização é feita.

Teste> dB.ordem.updateOne (id: 3, $ min: saleprice: 600)

A razão pela qual nenhuma atualização é feita para o campo "SalePrice" do terceiro registro é que ele contém o valor de "400", que é menor que "600". Portanto, o operador "$ min" não atualiza o valor mínimo de "400" com um valor maior de "600", de acordo com a seguinte consulta find ():

Teste> dB.ordem.encontrar().foreach (printjson)

Vamos fazer uma pequena mudança na consulta de atualização para obter uma saída diferente desta vez. Usamos a mesma instrução "db" que utiliza a função "UpdateOne" para modificar um único registro de "3". O operador "$ min" é aplicado ao campo "Saleprice" para definir seu valor como "300" se o valor de "300" for menor que o valor já inserido. Sabemos que o valor já inserido de "400" do campo SalePrice é maior que o novo valor de "300" a ser comparado. Então, ele substitui "400" por "300" desta vez. A mensagem de saída mostra a execução bem -sucedida desta consulta. A contagem modificada = 1 significa que 1 registro é modificado.

Teste> dB.ordem.updateOne (id: 3, $ min: saleprice: 300)

Depois de exibir os registros de uma coleção "Order" do banco de dados "Test" em um formato JSON por meio da instrução de função "find ()" no Shell MongoDB, descobrimos que o terceiro registro é atualizado com sucesso. O valor de 400 do campo “SalePrice” é substituído pelo valor de 300.

Teste> dB.ordem.encontrar().foreach (printjson)

Exemplo 2:

Dentro desta ilustração do MongoDB, buscamos os registros de um banco de dados específico, agrupando -os sobre o operador "$ min" de acordo com o valor mínimo nos registros. Suponha que você tenha os mesmos 5 registros na coleção "Order" do banco de dados de "teste" do MongoDB e precisa ter alguns dados duplicados nos campos específicos de um banco de dados de "teste". Para isso, adicionamos mais registros na coleção "Order" do banco de dados "Test". Desta vez, inserimos os valores duplicados para o campo "Título". É usado em uma cláusula de "$ $" para formar um grupo de valores únicos. A saída a seguir exibe os recém -inseridos mais 3 registros para o banco de dados "teste". Agora, a coleção "Order" tem valores duplicados para o campo "Title" em comparação com os 5 antigos registros. O resto usa o mesmo.

Depois de ter um total de 8 registros na coleção "Order" do banco de dados "Test", é hora de testar o operador $ min do MongoDB após sua aplicação em um campo específico agrupado por outro campo. O comando agregado anexado é tudo sobre isso. Começa com a palavra -chave "db" seguida pelo nome de uma coleção em um banco de dados específico e a função agregate (). A função agregada começa com o uso da cláusula $ grupo do MongoDB, que é especialmente usada aqui para exibir os dados em um grupo referente ao campo "Title" do banco de dados "teste" em que o campo "Title" é considerado uma chave única.

Ao mesmo tempo, o campo de preços é inicializado separadamente, o que leva apenas o registro de valor mínimo do total de 8 mesmos registros através do operador "$ min" que é aplicado a ele. A saída desta execução de consulta mostra a exibição de 5 registros com uma pequena atualização na seção de preços. Você pode ver que nenhum registro repetitivo é exibido. Alguns registros de valor únicos e menores são exibidos aqui.

Teste> dB.ordem.agregado ([$ Group: _id: "$ title", preço: $ min: "$ Saleprice"]))

Conclusão

Este guia é uma coleção de ilustrações do MongoDB para exibir uma maneira simples possível de usar o operador "$ min". O parágrafo de introdução é utilizado para discutir o objetivo de seu uso em MongoDB. A primeira parte deste artigo discute como o operador "$ min" funciona e não funciona para um único registro em um banco de dados, i i.e. Para atualizar ou inserir um registro como um valor mínimo. Além disso, os últimos exemplos demonstram seu uso para agrupar o registro de coleta como exclusivo em todo o banco de dados.