$mul (Multiplicar)
Última atualização: 2026-10-09
$mul (Multiplicar)
$mul multiplica o valor de um campo pelo fator fornecido. `{ $mul: { price: 0.9 } }` aplica um desconto de 10%; `{ $mul: { quantity: 2 } }` dobra. Para um campo ausente, o resultado é tratado como multiplicado-por-zero, então o campo é criado como 0. Campos não numéricos geram erro. Atômico; útil para escalar preço ou peso.
| Categoria | Atualização de Campo |
|---|---|
| Versão do MongoDB | 2.6+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $mul: { <campo>: <fator> } }
⚙️ Parâmetros
| campo | O campo numérico a multiplicar. |
|---|---|
| multiplicador | O fator de multiplicação; decimal ou negativo permitido. |
Retorno:O resultado da atualização
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $mul: 10% de desconto no preço
// 100 vira 90
db.products.updateOne(
{ _id: 1 },
{ $mul: { price: 0.9 } }
)
// Dobra a quantidade
db.products.updateOne(
{ _id: 2 },
{ $mul: { qty: 2 } }
)
Saída:
// price é multiplicado por 0.9 e qty por 2; campos ausentes são criados como 0
📌 Notas
- Um campo ausente é criado como 0 (semântica de multiplicar-por-zero)
- Campos não numéricos geram erro
- Como $inc, é uma operação atômica
🏷️ Tags Relacionados
💡 Casos Relacionados
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QO que acontece se o campo de $mul estiver ausente?
AEle é tratado como multiplicado por zero, então o campo é criado como 0.
Q$mul lida com floats?
ASim; a precisão depende do tipo BSON.
QQual é a diferença entre $mul e $inc?
A$inc soma ou subtrai; $mul multiplica ou divide.