@zuziadev/base
v1.0.1
Published
A flexible database abstraction layer supporting multiple database types
Maintainers
Readme
@zuziadev/base
Çoklu veritabanı desteği sunan esnek bir veritabanı soyutlama katmanı.
Özellikler
- 🔄 Çoklu veritabanı desteği (JSON, Firebase, MongoDB, BSON, YAML)
- 🚀 Basit ve tutarlı API
- ⚡ Asenkron işlemler
- 🔒 Güvenli veri yönetimi
- 📦 Kolay entegrasyon
Kurulum
npm install @zuziadev/baseKullanım
JSON Veritabanı
const { Base } = require('@zuziadev/base');
// JSON veritabanı başlatma
const db = new Base({
type: 'json',
config: {
path: './data.json' // Opsiyonel, varsayılan: './data.json'
}
});
// Veri ekleme/güncelleme
await db.set('users.john', {
name: 'John Doe',
email: '[email protected]',
age: 30
});
// Veri okuma
const user = await db.get('users.john');
console.log(user); // { name: 'John Doe', email: '[email protected]', age: 30 }
// Veri kontrolü
const exists = await db.has('users.john'); // true
// Veri silme
await db.delete('users.john');Firebase Veritabanı
const { Base } = require('@zuziadev/base');
// Firebase veritabanı başlatma
const db = new Base({
type: 'firebase',
config: {
credential: require('./firebase-credentials.json'),
databaseURL: 'https://your-project.firebaseio.com'
}
});
// Veri ekleme/güncelleme
await db.set('users/john', {
name: 'John Doe',
email: '[email protected]',
role: 'user'
});
// Veri okuma
const user = await db.get('users/john');
console.log(user); // { name: 'John Doe', email: '[email protected]', role: 'user' }
// Veri kontrolü
const exists = await db.has('users/john'); // true
// Veri silme
await db.delete('users/john');MongoDB Veritabanı
const { Base } = require('@zuziadev/base');
// MongoDB veritabanı başlatma
const db = new Base({
type: 'mongodb',
config: {
connectionString: 'mongodb://localhost:27017/mydb',
collection: 'users' // Opsiyonel, varsayılan: 'default'
}
});
// Veri ekleme/güncelleme
await db.set('john', {
name: 'John Doe',
email: '[email protected]',
age: 30
});
// Veri okuma
const user = await db.get('john');
console.log(user); // { name: 'John Doe', email: '[email protected]', age: 30 }
// Veri kontrolü
const exists = await db.has('john'); // true
// Veri silme
await db.delete('john');BSON Veritabanı
const { Base } = require('@zuziadev/base');
// BSON veritabanı başlatma
const db = new Base({
type: 'bson',
config: {
path: './data.bson' // Opsiyonel, varsayılan: './data.bson'
}
});
// Veri ekleme/güncelleme
await db.set('users.john', {
name: 'John Doe',
email: '[email protected]',
age: 30
});
// Veri okuma
const user = await db.get('users.john');
console.log(user); // { name: 'John Doe', email: '[email protected]', age: 30 }
// Veri kontrolü
const exists = await db.has('users.john'); // true
// Veri silme
await db.delete('users.john');YAML Veritabanı
const { Base } = require('@zuziadev/base');
// YAML veritabanı başlatma
const db = new Base({
type: 'yaml',
config: {
path: './data.yaml' // Opsiyonel, varsayılan: './data.yaml'
}
});
// Veri ekleme/güncelleme
await db.set('users.john', {
name: 'John Doe',
email: '[email protected]',
age: 30
});
// Veri okuma
const user = await db.get('users.john');
console.log(user); // { name: 'John Doe', email: '[email protected]', age: 30 }
// Veri kontrolü
const exists = await db.has('users.john'); // true
// Veri silme
await db.delete('users.john');API Referansı
Base Sınıfı
const db = new Base(options);Parametreler
options(Object)type(String): Veritabanı türü ('json', 'firebase', 'mongodb', 'bson', 'yaml')config(Object): Veritabanı yapılandırması
Metodlar
set(key, value)
Veri ekler veya günceller.
await db.set('users.john', { name: 'John Doe' });get(key)
Veri okur.
const user = await db.get('users.john');has(key)
Veri varlığını kontrol eder.
const exists = await db.has('users.john');delete(key)
Veri siler.
await db.delete('users.john');Veritabanı Türleri ve Yapılandırmaları
JSON Veritabanı
{
type: 'json',
config: {
path: './data.json' // Opsiyonel
}
}Firebase Veritabanı
{
type: 'firebase',
config: {
credential: require('./firebase-credentials.json'),
databaseURL: 'https://your-project.firebaseio.com'
}
}MongoDB Veritabanı
{
type: 'mongodb',
config: {
connectionString: 'mongodb://localhost:27017/mydb',
collection: 'users' // Opsiyonel
}
}BSON Veritabanı
{
type: 'bson',
config: {
path: './data.bson' // Opsiyonel
}
}YAML Veritabanı
{
type: 'yaml',
config: {
path: './data.yaml' // Opsiyonel
}
}Bağımlılıklar
- bson: ^5.5.0
- firebase-admin: ^11.11.0
- js-yaml: ^4.1.0
- mongodb: ^6.3.0
Lisans
MIT
