Backend y SDK

Base de datos (m77.db)

Colecciones, consultas y datos por usuario.

m77.db es una base de datos documental sin esquema. Las colecciones se crean automáticamente la primera vez que escribes en ellas.

Crear

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

Leer

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

Filtros

where compara campos de forma exacta y admite operadores:

OperadorEjemplo
igual{ status: 'paid' }
$ne{ status: { $ne: 'draft' } }
$in{ status: { $in: ['sent', 'paid'] } }
$gt / $gte / $lt / $lte{ total: { $gte: 100 } }
$contains{ name: { $contains: 'ann' } } (sin distinguir mayúsculas)

sort recibe un nombre de campo, con - delante para orden descendente (por defecto -createdAt). limit llega hasta 500 y offset sirve para paginar.

Actualizar y borrar

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

Datos por usuario

Los registros creados mientras un usuario tiene la sesión iniciada reciben un ownerId. Consulta solo los registros del usuario actual con mine: true:

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

Los registros con propietario solo puede actualizarlos o borrarlos ese propietario.

Reglas de acceso

Cada colección es pública por defecto. Restríngela colección a colección en la pestaña Datos del editor, o deja que tu app declare reglas en un archivo m77.config.json:

{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }
ReglaQuién puede leerQuién puede escribir
publicCualquieraCualquiera
authUsuarios de la app con sesión iniciadaUsuarios de la app con sesión iniciada
privateCada usuario ve solo sus registrosSolo el propietario del registro
readonlyCualquieraSolo tú, desde la pestaña Datos

Límites

Registros de hasta 1 MB cada uno; 50.000 registros por app (escríbenos si necesitas más).