$floor (Arredondar para Baixo)
Última atualização: 2026-10-09
$floor (Arredondar para Baixo)
$floor retorna o maior inteiro menor ou igual a um número dado — arredondando para baixo. É usado para arredondar valores para baixo, calcular limites inferiores ou agrupar valores em faixas, como agrupar preços para baixo em passos de 10 unidades. Um argumento null ou ausente resulta em null e inteiros passam inalterados. É o oposto de $ceil: -1.2 vira -2 com $floor, mas -1 com $ceil; também difere de $trunc, que trunca em direção a zero, então -1.2 vira -1.
| Categoria | Matemática |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $floor: <expressão numérica> }
⚙️ Parâmetros
| valor numérico | Um valor numérico ou uma expressão que resolva para um. |
|---|
Retorno:O maior inteiro menor ou igual à entrada; null quando null ou ausente
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $floor: arredondar preços para baixo em yuan inteiro
db.products.aggregate([
{ $project: {
priceFloor: { $floor: '$price' }
} }
])
Saída:
{ '_id': 1, 'priceFloor': 9 }
{ '_id': 2, 'priceFloor': 12 }
📌 Notas
- O oposto de $ceil, com divergência clara nos negativos
- Diferente de $trunc: $floor arredonda em direção ao infinito negativo enquanto $trunc corta em direção a zero
- Uma entrada inteira passa inalterada
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QComo $floor e $trunc diferem nos negativos?
A$floor arredonda em direção ao infinito negativo (-1.2 vira -2) enquanto $trunc corta em direção a zero (-1.2 vira -1).
QO que $floor retorna para null?
AEle retorna null sem gerar erro.
QO $floor consegue manter casas decimais?
ANão; use $round ou $trunc para manter casas decimais.