MONGODB $ GT $ GTE $ LT $ LTE Operadores

MONGODB $ GT $ GTE $ LT $ LTE Operadores

O MongoDB suporta uma variedade de operadores de consulta para pesquisar e filtrar documentos em uma coleção. Os operadores "GT", "GTE", "LT" e "LTE" são usados ​​para executar consultas de comparação em campos. O operador “GT” (maior que) retorna documentos em que o campo especificado é maior que o valor especificado, enquanto o “GTE” (maior ou igual a) retorna documentos em que o campo especificado é maior ou igual ao valor especificado. Por outro lado, o “LT” (menos que) o operador retorna documentos em que o campo especificado é menor que o valor especificado e o “LTE” (menor ou igual a), o operador retorna documentos em que o campo especificado é menor ou igual para o valor especificado. Há pouca diferença em todos esses operadores, mas o método de usá -los em MongoDB é bastante semelhante. Vamos discutir isso neste guia.

Digamos que você tenha todos os registros recém -inseridos da coleção "Dummy" em seu banco de dados atualmente utilizado, que é um total de 5 registros com campos exclusivos de "_id", "cidade" e "count".

Teste> dB.Fictício.encontrar()
[[
_id: objectId ("63C8A1F94FF07039AA6CDF6B"), Cidade: 'Texas', Conde: 5,
_id: objectId ("63C8A1F94FF07039AA6CDF6C"), Cidade: 'Los Angeles', Conde: 2,
_id: objectId ("63C8A1F94FF07039AA6CDF6D"), Cidade: 'Itália', Conde: Null,
_id: objectId ("63C8A1F94FF07039AA6CDF6E"), Cidade: 'Istambul', Conde: 8,
_id: objectId ("63C8A1F94FF07039AA6CDF6F"), Cidade: 'Delhi', Conde: 7
]

Exemplo # 01: $ GT Operador

O operador "GT" será usado para definir ou atualizar o valor de um campo específico em uma coleção para um único registro. Para isso, você deve executar a função "UpdateOne" do MongoDB com o operador "GT" definido para um campo específico. No nosso caso, aplicamos a atualização apenas em registros com maior que o valor "3" em seu campo "contagem". O operador "set" é usado para adicionar um novo campo "Desc" com o valor "maior cidade do mundo" para todos os registros com um valor de "contagem" maior que "3". Apenas 1 registro foi atualizado porque tentamos a instrução "UpdateOne".

Teste> dB.Fictício.updateOne ("count": $ gt: 3, $ set: "descec": "maior cidade do mundo")

reconhecido: verdadeiro,
inserdId: nulo,
MatchedCount: 1,
ModifiedCount: 1,
UPSERTEDCOUNT: 0

O primeiro registro da coleção "fictom" foi atualizado apenas de acordo com o resultado da execução da função "Find". O campo "Desc" é adicionado ao registro com o nome da cidade "Texas".

Teste> dB.Fictício.encontre (count: $ gt: 3)
[[
_id: objectId ("63C8A1F94FF07039AA6CDF6B"), Cidade: 'Texas', Conde: 5, Desc: 'maior cidade do mundo',
_id: objectId ("63C8A1F94FF07039AA6CDF6E"), Cidade: 'Istambul', Conde: 8,
_id: objectId ("63C8A1F94FF07039AA6CDF6F"), Cidade: 'Delhi', Conde: 7
]

Vamos usar a função updatemany () em vez de updateOne () para atualizar todos os registros da coleção "manequim" com os valores de campo "contagem" maiores que "3". O comando abaixo foi usado para esse fim e temos o reconhecimento.

Teste> dB.Fictício.updatemany (count: $ gt: 3, $ set: "descec": "maior cidade do mundo")

reconhecido: verdadeiro,
inserdId: nulo,
MatchedCount: 3,
ModifiedCount: 2,
UPSERTEDCOUNT: 0

Agora, depois de executar a instrução de função "Localizar", mais uma vez com o operador "GT", definido no campo "contagem", onde o valor é maior que "3", temos a saída mostrada. Todos os 3 registros com um valor de "contagem" maior que "3" têm agora o campo "Desc".

Teste> dB.Fictício.encontre (count: $ gt: 3)
[[
_id: objectId ("63C8A1F94FF07039AA6CDF6B"), Cidade: 'Texas', Conde: 5, Desc: 'maior cidade do mundo',
_id: objectId ("63C8A1F94FF07039AA6CDF6E"), Cidade: 'Istambul', Conde: 8, Desc: 'Maior cidade do mundo',
_id: objectId ("63C8A1F94FF07039AA6CDF6F"), Cidade: 'Delhi', Conde: 7, Desc: 'maior cidade do mundo',
]

Exemplo # 02: $ GTE Operador

Neste exemplo, discutiremos o uso do operador "GTE" do MongoDB: maior ou igual a. Será usado para pesquisar ou atualizar os registros maiores ou iguais a um valor específico. A função updatemany () é usada para atualizar muitos documentos em uma coleção MongoDB chamada "Dummy", onde o valor do campo "contagem" é maior ou igual a 4. A contagem é maior que "4". O operador "set" definirá o valor do campo "contagem" para 2 para todos os documentos correspondentes. A atualização foi realizada muito bem.

Teste> dB.Fictício.updatemany (count: $ gte: 4, $ set: "count": 2)

reconhecido: verdadeiro,
inserdId: nulo,
MatchedCount: 3,
ModifiedCount: 3,
UPSERTEDCOUNT: 0

Depois de exibir os registros atualizados da coleção "Dummy" usando a função "Find", temos o resultado abaixo. Isso mostra que todos os registros agora têm o valor "2" no campo "contagem", exceto o registro "3" onde a contagem já é nula e não atende à condição do operador "GTE" I.e. Como a consulta acima ilustrada.

Teste> dB.Fictício.encontrar()
[[
_id: objectId ("63C8A1F94FF07039AA6CDF6B"), Cidade: 'Texas', Conde: 2, Desc: 'maior cidade do mundo',
_id: objectId ("63C8A1F94FF07039AA6CDF6C"), Cidade: 'Los Angeles', Conde: 2,
_id: objectId ("63C8A1F94FF07039AA6CDF6D"), Cidade: 'Itália', Conde: Null,
_id: objectId ("63C8A1F94FF07039AA6CDF6E"), Cidade: 'Istambul', Conde: 2, Desc: 'Maior cidade do mundo',
_id: objectId ("63C8A1F94FF07039AA6CDF6F"), Cidade: 'Delhi', Conde: 2, Desc: 'Maior cidade do mundo'
]

Exemplo # 03: $ LT Operador

Desta vez, vamos utilizar o operador “LT” do MongoDB para atualizar os registros. O comando abaixo atualiza muitos documentos em MongoDB usando a função updatemany () mais uma vez, onde o valor do campo "contagem" é menor que 4. O operador "set" define o valor do campo "contagem" para 3 e o valor do campo "Desc" para "Cidade de médio porte" para todos os documentos correspondentes. O reconhecimento mostra que um total de 4 registros é atualizado e o 1 que é deixado inalterado deve ter um valor "nulo" em seu campo "contagem".

Teste> dB.Fictício.updatemany (count: $ lt: 4, $ set: "count": 3, "descec": "city de tamanho médio")

reconhecido: verdadeiro,
inserdId: nulo,
MatchedCount: 4,
ModifiedCount: 4,
UPSERTEDCOUNT: 0

Depois de pesquisar os registros da coleção "fictício", onde o campo de contagem tem todos os valores menores que "4" através do operador "LT", ele retorna os 4 registros, todos com campo de campo definido para "3" e "Desc "Definir como" Cidade de médio porte "da seguinte forma:

Teste> dB.Fictício.encontre (count: $ lt: 4)
[_id: objectId ("63C8A1F94FF07039AA6CDF6B"), Cidade: 'Texas', Conde: 3, Desc: 'City de tamanho médio',
_id: objectId ("63C8A1F94FF07039AA6CDF6C"), Cidade: 'Los Angeles', Conde: 3, Desc: 'City de tamanho médio',
_id: objectId ("63C8A1F94FF07039AA6CDF6E"), Cidade: 'Istambul', Conde: 3, Desc: 'Cidade de médio porte', _id: objectId ("63C8a1f94ff07039aa6cdf6f"), 3C8a1f94ff07039aa6cdf6f6f "), 3C8a1f94ff07039aa6cdf6f6f"), 3C8A1F94ff07039aa6cdf6flay), 3C8a1f94ff07039a6a6cdf6f6f. DESC: 'Cidade de tamanho médio']

Exemplo # 04: $ LTE Operador

A partir da consulta anexada abaixo, tentamos a função "updatemany" com seu filtro count: $ lte: null. Ele corresponde a todos os documentos em que o valor do campo "contagem" é menor ou igual a nulo. No nosso caso, há apenas um registro com um valor "nulo" no campo "contagem".No segundo argumento, o operador "set" define o valor do campo "contagem" para 10 e o valor do campo "Desc" para "mais bonito e lotado" para todos os documentos correspondentes. O comando abaixo atualiza um único registro em uma coleção "Dummy", onde o valor do campo "contagem" é menor ou igual a nulo.

Teste> dB.Fictício.updatemany (count: $ lte: null, $ set: "count": 10, "descec": "mais bonito e movimentado")

reconhecido: verdadeiro,
inserdId: nulo,
MatchedCount: 1,
ModifiedCount: 1,
UPSERTEDCOUNT: 0

Quando você procura o registro com um valor de campo "contagem" maior que "8", ele retorna um único registro que tem um valor "nulo" anteriormente.

Teste> dB.Fictício.encontre (count: $ gt: 8)
[_id: objectId ("63C8A1F94FF07039AA6CDF6D"), Cidade: 'Itália', Conde: 10, Desc: 'mais bonito e lotado']

Conclusão

Este artigo cobre os detalhes do objetivo de usar os operadores GT, GTE, LT e LTE em MongoDB. O primeiro exemplo abrange o operador "GT" e o segundo abrange o operador "GTE" com a ajuda de instruções do MongoDBB. Enquanto as duas últimas ilustrações estão cobrindo o uso dos operadores "LT" e "LTE" em detalhes com a ajuda da função Updatemany () e do operador "set".