Duomenų bazė (m77.db)
Kolekcijos, užklausos ir kiekvieno naudotojo duomenys.
m77.db yra dokumentų duomenų bazė be schemos. Kolekcijos sukuriamos automatiškai, kai į jas rašai pirmą kartą.
Kūrimas
const task = await m77.db.create('tasks', { title: 'Ship v2', done: false, priority: 2 });
// → { id, title, done, priority, createdAt, updatedAt, ownerId }Skaitymas
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 } });Filtrai
where tiksliai lygina laukus ir palaiko operatorius:
| Operatorius | Pavyzdys |
|---|---|
| lygu | { status: 'paid' } |
$ne | { status: { $ne: 'draft' } } |
$in | { status: { $in: ['sent', 'paid'] } } |
$gt / $gte / $lt / $lte | { total: { $gte: 100 } } |
$contains | { name: { $contains: 'ann' } } (neskiria didžiųjų ir mažųjų raidžių) |
sort priima lauko pavadinimą, mažėjančiai tvarkai su priešdėliu - (numatytoji -createdAt). limit — iki 500, offset puslapiuoja.
Atnaujinimas ir trynimas
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);Kiekvieno naudotojo duomenys
Įrašai, sukurti naudotojui esant prisijungus, gauna ownerId. Tik dabartinio naudotojo įrašus gausi su mine: true:
const myNotes = await m77.db.list('notes', { mine: true });Įrašus su savininku gali atnaujinti ar ištrinti tik jų savininkas.
Prieigos taisyklės
Kiekviena kolekcija pagal numatytuosius nustatymus yra vieša. Apribok ją kiekvienai kolekcijai atskirai redaktoriaus skirtuke Duomenys arba leisk programėlei nurodyti taisykles faile m77.config.json:
{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }| Taisyklė | Kas gali skaityti | Kas gali rašyti |
|---|---|---|
public | Bet kas | Bet kas |
auth | Prisijungę programėlės naudotojai | Prisijungę programėlės naudotojai |
private | Kiekvienas naudotojas mato tik savo įrašus | Tik įrašo savininkas |
readonly | Bet kas | Tik tu, iš skirtuko Duomenys |
Apribojimai
Įrašai iki 1 MB kiekvienas; 50 000 įrašų vienai programėlei (jei reikia daugiau, susisiek su mumis).