Nesta postagem, discutiremos como multiplicar os valores de um determinado campo com um número específico usando o operador $ MUL.
Operador MongoDB $ MUL
O $ MU ou Operador de Multiplicação nos permite multiplicar o valor de um determinado campo com um valor numérico específico.
A sintaxe do operador é como mostrado:
$ mul:: ,…
É bom garantir que o campo alvo tenha valor numérico. Caso contrário, o operador falha se encontrar um valor não numérico.
Você também pode usar a notação de pontos para acessar um campo localizado em um documento incorporado ou uma matriz.
Se o campo especificado não existir no documento de destino, o operador cria o arquivo definido e define o valor para um zero com tipo semelhante ao número multiplicador.
Também é bom lembrar as regras de conversão que podem se aplicar ao executar multiplicações em vários tipos. A tabela a seguir mostra as conversões de tipo suportadas:
Vejamos um exemplo do mundo real sobre como usar o operador $ MUL.
Exemplo de coleção e documentos
Suponha que tenhamos uma coleção que contenha uma informação do produto, como mostrado:
Teste> dB.CreateCollection ("Produtos")
ok: 1
Teste> dB.produtos.InsertMany ([
… _Id: 1, Product_name: "Product_1", Preço: 100, Qty: 78,
… _Id: 2, Product_name: "Product_2", Preço: 4500, Qty: 344,
… _Id: 3, Product_name: "Product_3", Preço: 45, Qty: 200
…]);
reconhecido: verdadeiro, inserdIds: '0': 1, '1': 2, '2': 3
Exemplo:
O exemplo a seguir mostra uma operação simples sobre como usar o operador $ MUL:
Teste> dB.produtos.updateOne (_id: 1, $ MUL: Price: 2);
A consulta anterior deve multiplicar o preço por 2 e no documento com o ID de 1.
Saída:
reconhecido: verdadeiro,
inserdId: nulo,
MatchedCount: 1,
ModifiedCount: 1,
UPSERTEDCOUNT: 0
Podemos encontrar os documentos correspondentes da seguinte forma:
Teste> dB.produtos.encontrar();
Documentos resultantes:
[[
_id: 1, Product_name: 'Product_1', Preço: 200, Qty: 78,
_id: 2, product_name: 'product_2', preço: 4500, Qty: 344,
_id: 3, Product_name: 'Product_3', Preço: 45, Qty: 200
]
Podemos ver que o documento atualiza o primeiro documento para ter um preço de 200.
Se você deseja atualizar mais de um campo, pode usar a solicitação, conforme mostrado no seguinte:
Teste> dB.produtos.updateOne (_id: 1, $ MUL: Price: 2, Qty: 100);
Nesse caso, a consulta atualiza o preço e a quantidade do primeiro documento, como mostrado no seguinte resultado:
Teste> dB.produtos.encontre (_ id: 1);
Resultado:
[_id: 1, Product_name: 'Product_1', Preço: 400, Qty: 7800]
Conclusão
Neste guia, você aprendeu a usar o operador de multiplicação no shell de MongoDBB. Verifique os documentos para obter mais informações.