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:
| Operador | Exemple |
|---|---|
| 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" } }| Regla | Qui pot llegir | Qui pot escriure |
|---|---|---|
public | Tothom | Tothom |
auth | Usuaris de l'app amb sessió iniciada | Usuaris de l'app amb sessió iniciada |
private | Cada usuari només veu els seus registres | Només el propietari del registre |
readonly | Tothom | Nomé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).