Introduction
📋 Introdução ao Helper.DB
Section titled “📋 Introdução ao Helper.DB”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.
🎯 Por que escolher Helper.DB?
Section titled “🎯 Por que escolher Helper.DB?”✨ Funcionalidades Principais
Section titled “✨ Funcionalidades Principais”- 🚀 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)
🎯 Ideal Para
Section titled “🎯 Ideal Para”- 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
🔧 Drivers Disponíveis
Section titled “🔧 Drivers Disponíveis”| Driver | Uso Ideal | Persistência | Performance |
|---|---|---|---|
| SqliteDriver | Desenvolvimento, apps pequenos/médios | ✅ Sim | 🟢 Alta |
| MySQLDriver | Produção, alta concorrência | ✅ Sim | 🟢 Muito Alta |
| MariaDBDriver | Alternativa open-source ao MySQL | ✅ Sim | 🟢 Muito Alta |
| MongoDriver | Dados não estruturados, JSON complexo | ✅ Sim | 🟢 Alta |
| JSONDriver | Desenvolvimento, configurações | ✅ Sim | 🟡 Média |
| MemoryDriver | Cache, dados temporários | ❌ Não | 🟢 Máxima |
📈 Versão Atual: v1.4.2
Section titled “📈 Versão Atual: v1.4.2”🆕 Novidades da Versão 1.4.2
Section titled “🆕 Novidades da Versão 1.4.2”✨ Método search() Aprimorado
Section titled “✨ Método search() Aprimorado”- Busca por chaves aninhadas usando notação de ponto
- Parâmetro
depthpara controlar profundidade da busca - Suporte a busca em objetos complexos e arrays
// Busca com profundidade específicaconst resultados = await db.search("admin", "user.role", { depth: 3 });
// Busca aninhada em objetos complexosconst 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 dadoscache.driver.clear();
// Obter estatísticasconst stats = cache.driver.getStats();console.log(stats); // { tabela: { rows: 150, sizeEstimate: 25000 } }🔧 Novos Tipos de Erro
Section titled “🔧 Novos Tipos de Erro”CONNECTION_FAILED: Falha na conexão com o bancoTABLE_NOT_FOUND: Tabela não encontradaDRIVER_NOT_INITIALIZED: Driver não inicializadoVALIDATION_FAILED: Falha na validação de dados
🚀 Começando
Section titled “🚀 Começando”npm install helper.dbconst { HelperDB } = require('helper.db');
// Inicialização simplesconst db = new HelperDB();await db.init();
// Operações básicasawait db.set("usuario:1", { nome: "João", idade: 25 });const usuario = await db.get("usuario:1");