Baza podatkov (m77.db)
Zbirke, poizvedbe in podatki posameznega uporabnika.
m77.db je dokumentna baza podatkov brez sheme. Zbirke se ustvarijo samodejno, ko vanje prvič zapišeš.
Ustvarjanje
const task = await m77.db.create('tasks', { title: 'Ship v2', done: false, priority: 2 });
// → { id, title, done, priority, createdAt, updatedAt, ownerId }Branje
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 } });Filtri
where polja primerja natančno in podpira operatorje:
| Operator | Primer |
|---|---|
| je enako | { status: 'paid' } |
$ne | { status: { $ne: 'draft' } } |
$in | { status: { $in: ['sent', 'paid'] } } |
$gt / $gte / $lt / $lte | { total: { $gte: 100 } } |
$contains | { name: { $contains: 'ann' } } (ne loči velikih in malih črk) |
sort sprejme ime polja, z - spredaj za padajoči vrstni red (privzeto -createdAt). limit je največ 500, offset pa je za ostranjevanje.
Posodabljanje in brisanje
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);Podatki posameznega uporabnika
Zapisi, ustvarjeni, ko je uporabnik prijavljen, dobijo ownerId. Samo zapise trenutnega uporabnika poiščeš z mine: true:
const myNotes = await m77.db.list('notes', { mine: true });Zapise z lastnikom lahko posodobi ali izbriše samo njihov lastnik.
Pravila dostopa
Vsaka zbirka je privzeto javna. Zakleni jo za vsako zbirko posebej na zavihku Podatki v urejevalniku ali pusti, da aplikacija pravila določi v datoteki m77.config.json:
{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }| Pravilo | Kdo lahko bere | Kdo lahko piše |
|---|---|---|
public | Kdor koli | Kdor koli |
auth | Prijavljeni uporabniki aplikacije | Prijavljeni uporabniki aplikacije |
private | Vsak uporabnik vidi samo svoje zapise | Samo lastnik zapisa |
readonly | Kdor koli | Samo ti, z zavihka Podatki |
Omejitve
Zapisi do 1 MB vsak; 50.000 zapisov na aplikacijo (če potrebuješ več, nam piši).