max
Encontra o valor máximo em um conjunto de dados numéricos.
Sintaxe
Section titled “Sintaxe”await db.max(key?)Parâmetros
Section titled “Parâmetros”key(string, opcional): Chave específica para buscar o valor máximo. Se omitida, busca em todos os valores numéricos.
Retorno
Section titled “Retorno”Promise<number>: O valor máximo encontrado, ou0se nenhum valor numérico for encontrado.
Exemplos
Section titled “Exemplos”Valor máximo de uma chave específica
Section titled “Valor máximo de uma chave específica”// Definir alguns valoresawait db.set('vendas.janeiro', [100, 250, 180, 300, 150]);await db.set('vendas.fevereiro', [200, 180, 220, 280, 190]);
// Encontrar o valor máximo nas vendas de janeiroconst maxJaneiro = await db.max('vendas.janeiro');console.log(maxJaneiro); // 300Valor máximo em todos os dados
Section titled “Valor máximo em todos os dados”// Definir valores numéricosawait db.set('temperatura.segunda', 25);await db.set('temperatura.terca', 28);await db.set('temperatura.quarta', 22);await db.set('pontuacao.jogador1', 1500);await db.set('pontuacao.jogador2', 2200);
// Encontrar o valor máximo em todos os dados numéricosconst maxGlobal = await db.max();console.log(maxGlobal); // 2200Com arrays de objetos
Section titled “Com arrays de objetos”// Definir dados de funcionáriosawait db.set('funcionarios', [ { nome: 'João', salario: 5000 }, { nome: 'Maria', salario: 6500 }, { nome: 'Pedro', salario: 4800 }]);
// Encontrar o maior salárioconst maiorSalario = await db.max('funcionarios.*.salario');console.log(maiorSalario); // 6500Tratamento de dados vazios
Section titled “Tratamento de dados vazios”// Buscar máximo em chave inexistenteconst maxInexistente = await db.max('chave.inexistente');console.log(maxInexistente); // 0
// Buscar máximo em array vazioawait db.set('lista.vazia', []);const maxVazio = await db.max('lista.vazia');console.log(maxVazio); // 0Casos de Uso
Section titled “Casos de Uso”1. Análise de Performance
Section titled “1. Análise de Performance”// Encontrar o melhor tempo de respostaawait db.set('metricas.tempos', [120, 95, 180, 85, 200]);const melhorTempo = await db.max('metricas.tempos');console.log(`Melhor tempo: ${melhorTempo}ms`);2. Gamificação
Section titled “2. Gamificação”// Encontrar a maior pontuaçãoconst recordeAtual = await db.max('pontuacoes');console.log(`Recorde atual: ${recordeAtual} pontos`);3. Monitoramento de Sistema
Section titled “3. Monitoramento de Sistema”// Pico de uso de CPUawait db.set('sistema.cpu.historico', [45, 67, 89, 92, 78, 56]);const picoCPU = await db.max('sistema.cpu.historico');console.log(`Pico de CPU: ${picoCPU}%`);Comportamento
Section titled “Comportamento”- Valores não numéricos: São ignorados no cálculo
- Arrays aninhados: Suporta notação de ponto para acessar valores em arrays e objetos
- Performance: Otimizado para grandes conjuntos de dados
- Tipo de retorno: Sempre retorna um número
Métodos Relacionados
Section titled “Métodos Relacionados”min()- Encontra o valor mínimoavg()- Calcula a média dos valoressum()- Soma todos os valoresaggregate()- Realiza múltiplas operações estatísticas
Dicas de Performance
Section titled “Dicas de Performance”// Para melhor performance com grandes datasets// Use chaves específicas em vez de busca globalconst max = await db.max('vendas.2024'); // ✅ Rápidoconst max = await db.max(); // ⚠️ Mais lento em grandes bases