Backend i SDK

Base de dades (m77.db)

Col·leccions, consultes i dades per usuari.

m77.db és una base de dades documental sense esquema. Les col·leccions es creen automàticament la primera vegada que hi escrius.

Crear

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

Llegir

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

Filtres

where compara camps de manera exacta i admet operadors:

OperadorExemple
igual{ status: 'paid' }
$ne{ status: { $ne: 'draft' } }
$in{ status: { $in: ['sent', 'paid'] } }
$gt / $gte / $lt / $lte{ total: { $gte: 100 } }
$contains{ name: { $contains: 'ann' } } (sense distingir majúscules)

sort rep un nom de camp, amb - al davant per a ordre descendent (per defecte -createdAt). limit arriba fins a 500 i offset serveix per paginar.

Actualitzar i esborrar

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

Dades per usuari

Els registres creats mentre un usuari té la sessió iniciada reben un ownerId. Consulta només els registres de l'usuari actual amb mine: true:

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

Els registres amb propietari només els pot actualitzar o esborrar aquest propietari.

Regles d'accés

Cada col·lecció és pública per defecte. Restringeix-la col·lecció a col·lecció a la pestanya Dades de l'editor, o deixa que la teva app declari regles en un fitxer m77.config.json:

{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }
ReglaQui pot llegirQui pot escriure
publicTothomTothom
authUsuaris de l'app amb sessió iniciadaUsuaris de l'app amb sessió iniciada
privateCada usuari només veu els seus registresNomés el propietari del registre
readonlyTothomNomés tu, des de la pestanya Dades

Límits

Registres de fins a 1 MB cadascun; 50.000 registres per app (escriu-nos si en necessites més).