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:
| Operador | Ejemplo |
|---|---|
| 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" } }| Regla | Quién puede leer | Quién puede escribir |
|---|---|---|
public | Cualquiera | Cualquiera |
auth | Usuarios de la app con sesión iniciada | Usuarios de la app con sesión iniciada |
private | Cada usuario ve solo sus registros | Solo el propietario del registro |
readonly | Cualquiera | Solo 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).