} Skip to content

Introduction

Uma biblioteca de banco de dados JavaScript simples, poderosa e versátil

Fork do popular quick.db com funcionalidades expandidas e melhorias de performance

Helper.DB é uma solução completa para persistência de dados em aplicações JavaScript/Node.js. Oferece uma API simples e intuitiva para trabalhar com diferentes tipos de bancos de dados, desde soluções simples como JSON até bancos de dados robustos como MySQL e MongoDB.

  • 🚀 Alta Performance: Otimizado para velocidade com cache inteligente
  • 🔄 Múltiplos Drivers: SQLite, MySQL, MariaDB, MongoDB, JSON e Memory
  • 📦 Operações em Lote: Métodos eficientes para múltiplos registros
  • 🔍 Busca Avançada: Sistema de busca com regex, filtros e profundidade
  • 📊 Estatísticas: Análise de dados com count, sum, avg, min, max
  • 💾 Backup Automático: Sistema integrado de backup e restauração
  • 🛡️ Validação: Sistema de validação de schema
  • 🔧 Configurável: Extenso sistema de configuração e eventos
  • 📡 Monitoramento: Sistema de ping e diagnósticos
  • 🔒 Transações: Suporte a transações (drivers compatíveis)
  • Desenvolvimento: Prototipagem rápida com JSONDriver ou MemoryDriver
  • Produção: Aplicações robustas com MySQL, MariaDB ou MongoDB
  • Cache: Sistemas de cache temporário com MemoryDriver
  • Aplicações Desktop: Persistência local com SQLite
DriverUso IdealPersistênciaPerformance
SqliteDriverDesenvolvimento, apps pequenos/médios✅ Sim🟢 Alta
MySQLDriverProdução, alta concorrência✅ Sim🟢 Muito Alta
MariaDBDriverAlternativa open-source ao MySQL✅ Sim🟢 Muito Alta
MongoDriverDados não estruturados, JSON complexo✅ Sim🟢 Alta
JSONDriverDesenvolvimento, configurações✅ Sim🟡 Média
MemoryDriverCache, dados temporários❌ Não🟢 Máxima
  • Busca por chaves aninhadas usando notação de ponto
  • Parâmetro depth para controlar profundidade da busca
  • Suporte a busca em objetos complexos e arrays
// Busca com profundidade específica
const resultados = await db.search("admin", "user.role", { depth: 3 });
// Busca aninhada em objetos complexos
const usuarios = await db.search("São Paulo", "endereco.cidade");

🛡️ Validação Aprimorada no MemoryDriver

Section titled “🛡️ Validação Aprimorada no MemoryDriver”
  • Validação de parâmetros obrigatórios (table, key)
  • Método clear() para limpeza completa da memória
  • Método getStats() para estatísticas de uso
const cache = new HelperDB({ driver: new MemoryDriver() });
// Limpar todos os dados
cache.driver.clear();
// Obter estatísticas
const stats = cache.driver.getStats();
console.log(stats); // { tabela: { rows: 150, sizeEstimate: 25000 } }
  • CONNECTION_FAILED: Falha na conexão com o banco
  • TABLE_NOT_FOUND: Tabela não encontrada
  • DRIVER_NOT_INITIALIZED: Driver não inicializado
  • VALIDATION_FAILED: Falha na validação de dados
Terminal window
npm install helper.db
const { HelperDB } = require('helper.db');
// Inicialização simples
const db = new HelperDB();
await db.init();
// Operações básicas
await db.set("usuario:1", { nome: "João", idade: 25 });
const usuario = await db.get("usuario:1");