Serverio dalis ir SDK

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:

OperatoriusPavyzdys
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 skaitytiKas gali rašyti
publicBet kasBet kas
authPrisijungę programėlės naudotojaiPrisijungę programėlės naudotojai
privateKiekvienas naudotojas mato tik savo įrašusTik įrašo savininkas
readonlyBet kasTik tu, iš skirtuko Duomenys

Apribojimai

Įrašai iki 1 MB kiekvienas; 50 000 įrašų vienai programėlei (jei reikia daugiau, susisiek su mumis).