get()
title: get description: Recupera um valor do banco de dados usando uma chave
Section titled “title: get description: Recupera um valor do banco de dados usando uma chave”get(key)
Section titled “get(key)”Obtém um valor da base de dados.
Sintaxe
Section titled “Sintaxe”const value = await db.get(key)Parâmetros
Section titled “Parâmetros”key(string): A chave do valor a ser obtido
Retorno
Section titled “Retorno”Promise<any>: O valor armazenado ounullse não existir
Exemplos
Section titled “Exemplos”Exemplo Básico
Section titled “Exemplo Básico”const { HelperDB } = require('helper.db');const db = new HelperDB();
// Salvar dadosawait db.set('usuario', { nome: 'João', idade: 25 });
// Obter dadosconst usuario = await db.get('usuario');console.log(usuario); // { nome: 'João', idade: 25 }
// Valor inexistenteconst inexistente = await db.get('nao_existe');console.log(inexistente); // nullUsando Notação de Ponto
Section titled “Usando Notação de Ponto”await db.set('usuario', { nome: 'João', configuracoes: { tema: 'escuro', idioma: 'pt-BR' }, hobbies: ['programação', 'leitura']});
// Obter propriedades específicasconst nome = await db.get('usuario.nome');console.log(nome); // 'João'
const tema = await db.get('usuario.configuracoes.tema');console.log(tema); // 'escuro'
const primeiroHobby = await db.get('usuario.hobbies.0');console.log(primeiroHobby); // 'programação'Valores Padrão
Section titled “Valores Padrão”// Usando operador OR para valor padrãoconst config = await db.get('configuracoes') || { tema: 'claro', idioma: 'pt-BR'};
// Função auxiliar para valor padrãofunction getWithDefault(key, defaultValue) { return db.get(key).then(value => value !== null ? value : defaultValue);}
const pontos = await getWithDefault('usuario.pontos', 0);Tipagem TypeScript
Section titled “Tipagem TypeScript”interface Usuario { nome: string; idade: number; ativo: boolean;}
// Especificar tipo de retornoconst usuario = await db.get<Usuario>('usuario');// usuario: Usuario | null
// Com verificação de tipoif (usuario) { console.log(usuario.nome); // TypeScript sabe que é string}Comportamentos Especiais
Section titled “Comportamentos Especiais”Objetos Aninhados
Section titled “Objetos Aninhados”await db.set('dados', { a: { b: { c: 'valor' } }});
// Todos retornam o mesmo resultadoconst valor1 = await db.get('dados.a.b.c');const valor2 = await db.get('dados').then(d => d.a.b.c);console.log(valor1 === valor2); // trueArrays
Section titled “Arrays”await db.set('lista', [1, 2, 3, 4, 5]);
const lista = await db.get('lista'); // [1, 2, 3, 4, 5]const item = await db.get('lista.2'); // 3const slice = await db.get('lista').then(l => l.slice(1, 3)); // [2, 3]Performance
Section titled “Performance”// ✅ Eficiente - acesso diretoconst valor = await db.get('chave.propriedade');
// ❌ Menos eficiente - múltiplas consultasconst objeto = await db.get('chave');const valor = objeto.propriedade;Eventos Emitidos
Section titled “Eventos Emitidos”db.on('beforeGet', (data) => { console.log('Buscando dados:', data.key);});
db.on('get', (data) => { console.log('Dados obtidos:', data.key, data.value);});