loyaldb
v1.0.0
Published
Dosya tabanlı NoSQL veritabanı kütüphanesi - MongoDB benzeri API ile JSON dosyasına veri saklama
Downloads
15
Maintainers
Readme
FlyDB 🚀
Hafif, hızlı ve kullanımı kolay dosya tabanlı NoSQL veritabanı kütüphanesi. MongoDB benzeri API ile JSON dosyasına veri saklama.
📦 Kurulum
NPM ile kurulum (gelecekte)
npm install flydbYerel kullanım
flydbklasörünüzü projenizin içine kopyalayın- Require ile dahil edin:
const db = require('./flydb');🚀 Hızlı Başlangıç
const db = require('flydb');
// Koleksiyon seçimi
db.use('users');
// Veri ekleme
db.set('profile.name', 'Ali');
db.set('profile.age', 25);
db.set('profile.location.city', 'Istanbul');
// Array ile çalışma
db.push('hobbies', 'reading');
db.push('hobbies', 'coding');
db.push('hobbies', 'gaming');
// Veri okuma
console.log(db.get('profile.name')); // "Ali"
console.log(db.get('profile')); // {name: "Ali", age: 25, location: {city: "Istanbul"}}
console.log(db.all()); // Tüm koleksiyon📚 API Dokümantasyonu
Koleksiyon Yönetimi
use(collectionName)
Aktif koleksiyonu seçer, yoksa oluşturur.
db.use('users'); // users koleksiyonunu seç
db.use('products'); // products koleksiyonuna geçVeri İşlemleri
set(path, value)
Nested path'e değer atar.
db.set('user.profile.name', 'Ahmet');
db.set('settings.theme', 'dark');get(path) / fetch(path)
Path'den değer alır.
db.get('user.profile.name'); // "Ahmet"
db.fetch('user.profile'); // {name: "Ahmet"}all()
Aktif koleksiyonun tüm verilerini döndürür.
db.all(); // Koleksiyonun tüm verisihas(path)
Path'in var olup olmadığını kontrol eder.
db.has('user.profile.name'); // true/falsedelete(path)
Belirtilen path'i siler.
db.delete('user.profile.age'); // age alanını sildeleteAll()
Aktif koleksiyonu tamamen temizler.
db.deleteAll(); // Koleksiyonu boşaltArray İşlemleri
push(path, value)
Array'e eleman ekler, array yoksa oluşturur.
db.push('user.hobbies', 'swimming');unpush(path, value)
Array'den belirli değeri siler.
db.unpush('user.hobbies', 'swimming');delByPriority(path, index)
Array'den index'e göre eleman siler.
db.delByPriority('user.hobbies', 0); // İlk elemanı silsetByPriority(path, value, index)
Array'deki belirli index'i günceller.
db.setByPriority('user.hobbies', 'reading', 0); // İlk elemanı güncelle💾 Veri Yapısı
Veriler flydb.json dosyasında şu formatta tutulur:
{
"users": {
"profile": {
"name": "Ali",
"age": 25
},
"hobbies": ["reading", "coding"]
},
"products": {
"list": [
{"id": 1, "name": "Laptop"},
{"id": 2, "name": "Mouse"}
]
}
}🔧 Gelişmiş Özellikler
İstatistik Bilgileri
db.stats(); // Veritabanı istatistikleriZincirleme İşlemler
db.use('users')
.set('profile.name', 'Ali')
.push('hobbies', 'reading')
.push('hobbies', 'coding');⚠️ Önemli Notlar
- Tüm veriler otomatik olarak
flydb.jsondosyasına kaydedilir - Koleksiyonlar otomatik olarak oluşturulur
- Array olmayan path'e push yapılırsa otomatik array oluşturulur
- Hata durumlarında açıklayıcı mesajlar döner
📄 Lisans
MIT License - Detaylar için LICENSE dosyasına bakın.
