andrew.db
v1.0.1
Published
Professional, MongoDB-like JSON database for Node.js with advanced querying, indexing, and transaction support
Downloads
30
Maintainers
Readme
andrew.db
kankam bu mongo mantığıyla çalışan ama much simpler bi lokal json veritabanı. şişik setup'lar yok, kur ve kullan. transaction falan da var merak etme.
indirme
npm i andrew.dbufak bi giriş
const Database = require('andrew.db');
// db başlatalım / db start
const db = new Database({
path: './mydata',
autoSave: true,
saveInterval: 5000
});
const users = db.collection('users');
// kişi ekle / add user
users.insertOne({
name: 'Ege',
age: 22,
email: '[email protected]'
});
// filtrele getir / filter and fetch
const result = users.find({ age: { $gte: 20 } }).execute();
console.log(result);docs
data ekleme
const users = db.collection('users');
// single
users.insertOne({ name: 'Halil', age: 25, email: '[email protected]' });
// toplu add / ++ add
users.insertMany([
{ name: 'Halil', age: 30 },
{ name: 'Mert', age: 35 }
]);data çekme (find)
klasik mongo db çalışır $gt, $lt, $in, $or vs.
// hepsini çek / fetch all
const everyone = users.find().execute();
// kişiyi bul / find one
const dude = users.findOne({ name: 'Halil' });
// karmaşık query / complex query
users.find({ $or: [{ age: { $lt: 20 } }, { age: { $gt: 30 } }] }).execute();data editleme
users.updateOne({ name: 'Halil' }, { $set: { age: 26 } });
// multiple doc update
users.updateMany({ age: { $lt: 18 } }, { $set: { status: 'minor' } });
// sayıyı artır fln
users.updateOne({ name: 'Ege' }, { $inc: { age: 1 } });silme (delete)
users.deleteOne({ name: 'Halil' });
users.deleteMany({ status: 'minor' });
// sil hepsini / delete all
users.clear(); schema
tipleri zorunlu kıl / make it mandatory for the correct types
users.setSchema({
name: { type: 'string', required: true },
age: { type: 'number', required: true }
});
users.insertOne({ name: 'Mert' }); // age missing error verirtransactions
para gönderirken falan yarı yolda patlarsa db bozulmasın diye. (avoid db corruption during money transfer)
db.startTransaction();
try {
users.insertOne({ name: 'Halil', balance: 100 });
users.updateOne({ name: 'Ege' }, { $inc: { balance: -100 } });
await db.commit();
console.log('transaction yes bibies');
} catch (error) {
await db.rollback();
console.error('Transaction salak failed:', error);
}backup
const backupFile = await db.backup('./backups');
console.log('backup create:', backupFile);iletişim
- bug reports: @egeiwz or discord.gg/spacedev
made by egeiwz
