Veritabanı (m77.db)
Koleksiyonlar, sorgular ve kullanıcıya özel veriler.
m77.db şemasız bir doküman veritabanıdır. Koleksiyonlar, onlara ilk kez yazdığında otomatik oluşturulur.
Oluşturma
const task = await m77.db.create('tasks', { title: 'Ship v2', done: false, priority: 2 });
// → { id, title, done, priority, createdAt, updatedAt, ownerId }Okuma
const all = await m77.db.list('tasks');
const open = await m77.db.list('tasks', { where: { done: false }, sort: '-priority', limit: 50 });
const one = await m77.db.get('tasks', id); // null if missing
const count = await m77.db.count('tasks', { where: { done: true } });Filtreler
where alanları birebir eşleştirir ve operatörleri destekler:
| Operatör | Örnek |
|---|---|
| eşittir | { status: 'paid' } |
$ne | { status: { $ne: 'draft' } } |
$in | { status: { $in: ['sent', 'paid'] } } |
$gt / $gte / $lt / $lte | { total: { $gte: 100 } } |
$contains | { name: { $contains: 'ann' } } (büyük/küçük harf duyarsız) |
sort bir alan adı alır; azalan sıra için başına - koy (varsayılan -createdAt). limit en fazla 500'dür, offset sayfalama yapar.
Güncelleme ve silme
await m77.db.update('tasks', id, { done: true }); // shallow merge
await m77.db.replace('tasks', id, { title: 'New' }); // overwrite all fields
await m77.db.remove('tasks', id);Kullanıcıya özel veriler
Bir kullanıcı giriş yapmışken oluşturulan kayıtlar bir ownerId alır. mine: true ile yalnızca mevcut kullanıcının kayıtlarını sorgula:
const myNotes = await m77.db.list('notes', { mine: true });Sahibi olan kayıtları yalnızca o sahip güncelleyebilir ya da silebilir.
Erişim kuralları
Her koleksiyon varsayılan olarak herkese açıktır. Oluşturucunun Veriler sekmesinden koleksiyon bazında kilitle ya da uygulamanın kuralları bir m77.config.json dosyasında tanımlamasına izin ver:
{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }| Kural | Kim okuyabilir | Kim yazabilir |
|---|---|---|
public | Herkes | Herkes |
auth | Giriş yapmış uygulama kullanıcıları | Giriş yapmış uygulama kullanıcıları |
private | Her kullanıcı yalnızca kendi kayıtlarını görür | Yalnızca kaydın sahibi |
readonly | Herkes | Yalnızca sen, Veriler sekmesinden |
Sınırlar
Kayıt başına en fazla 1 MB; uygulama başına 50.000 kayıt (daha fazlası için bize yaz).