$log (Logaritmo)
Última atualização: 2026-10-09
$log (Logaritmo)
$log retorna o logaritmo de um número com uma base especificada. Ele recebe dois argumentos: o valor e a base. Ao contrário de $ln, $log10 e $log2, a base é dada pelo segundo argumento, então $log: [8, 2] retorna 3. Ele cobre necessidades de logaritmo com base personalizada. Tanto o valor quanto a base devem ser maiores que 0, e a base não pode ser 1; qualquer argumento null ou ausente resulta em null. Quando a base for exatamente 10 ou 2, prefira $log10 ou $log2 por clareza.
| Categoria | Matemática |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $log: [ <valor>, <base> ] }
⚙️ Parâmetros
| valor numérico | Uma expressão numérica positiva da qual calcular o logaritmo. |
|---|---|
| base | A base do logaritmo; deve ser maior que 0 e diferente de 1. |
Retorno:O logaritmo com a base informada; null para argumentos inválidos, null ou ausentes
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $log: logaritmo na base 2
db.sales.aggregate([
{ $project: {
log2x: { $log: ['$amount', 2] }
} }
])
Saída:
{ '_id': 1, 'log2x': 6.643856189774724 }
{ '_id': 2, 'log2x': 4.321928094887363 }
📌 Notas
- Tanto o valor quanto a base devem ser maiores que 0, e a base não pode ser 1
- Para bases 10 e 2, $log10 e $log2 ficam mais legíveis
- Argumentos inválidos ou ausentes retornam null em vez de gerar erro
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QComo especifico a base do $log?
AO segundo argumento é a base, então $log: [8, 2] retorna 3.
QA base do $log pode ser 1?
ANão — a base 1 torna o logaritmo indefinido e retorna null.
QComo $log e $ln diferem?
A$log aceita uma base configurável enquanto $ln é fixo na base e.