Backend și SDK

Bază de date (m77.db)

Colecții, interogări și date per utilizator.

m77.db este o bază de date de documente fără schemă. Colecțiile se creează automat prima dată când scrii în ele.

Creare

const task = await m77.db.create('tasks', { title: 'Ship v2', done: false, priority: 2 });
// → { id, title, done, priority, createdAt, updatedAt, ownerId }

Citire

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 } });

Filtre

where potrivește câmpurile exact și acceptă operatori:

OperatorExemplu
egal{ status: 'paid' }
$ne{ status: { $ne: 'draft' } }
$in{ status: { $in: ['sent', 'paid'] } }
$gt / $gte / $lt / $lte{ total: { $gte: 100 } }
$contains{ name: { $contains: 'ann' } } (fără diferență între majuscule și minuscule)

sort primește un nume de câmp, cu - în față pentru ordine descrescătoare (implicit -createdAt). limit merge până la 500, iar offset paginează.

Actualizare și ștergere

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);

Date per utilizator

Înregistrările create cât timp un utilizator e autentificat primesc un ownerId. Interoghează doar înregistrările utilizatorului curent cu mine: true:

const myNotes = await m77.db.list('notes', { mine: true });

Înregistrările cu proprietar pot fi actualizate sau șterse doar de acel proprietar.

Reguli de acces

Fiecare colecție este publică în mod implicit. Restricționeaz-o per colecție în fila Date din editor sau lasă aplicația să declare reguli într-un fișier m77.config.json:

{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }
RegulăCine poate citiCine poate scrie
publicOricineOricine
authUtilizatorii autentificați ai aplicațieiUtilizatorii autentificați ai aplicației
privateFiecare utilizator își vede doar înregistrările propriiDoar proprietarul înregistrării
readonlyOricineDoar tu, din fila Date

Limite

Înregistrări de până la 1 MB fiecare; 50.000 de înregistrări per aplicație (contactează-ne dacă ai nevoie de mai multe).