Backend & SDK

Database (m77.db)

Collecties, queries en data per gebruiker.

m77.db is een schemaloze documentdatabase. Collecties worden automatisch aangemaakt zodra je er voor het eerst naar schrijft.

Aanmaken

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

Lezen

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

Filters

where vergelijkt velden exact en ondersteunt operatoren:

OperatorVoorbeeld
gelijk aan{ status: 'paid' }
$ne{ status: { $ne: 'draft' } }
$in{ status: { $in: ['sent', 'paid'] } }
$gt / $gte / $lt / $lte{ total: { $gte: 100 } }
$contains{ name: { $contains: 'ann' } } (hoofdletterongevoelig)

sort neemt een veldnaam, met - ervoor voor aflopend (standaard -createdAt). limit gaat tot 500, offset pagineert.

Bijwerken & verwijderen

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

Data per gebruiker

Records die worden aangemaakt terwijl een gebruiker is ingelogd, krijgen een ownerId. Vraag alleen de records van de huidige gebruiker op met mine: true:

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

Records met een eigenaar kunnen alleen door die eigenaar worden bijgewerkt of verwijderd.

Toegangsregels

Elke collectie is standaard openbaar. Scherm hem per collectie af in het tabblad Data van de builder, of laat je app regels vastleggen in een bestand m77.config.json:

{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }
RegelWie mag lezenWie mag schrijven
publicIedereenIedereen
authIngelogde app-gebruikersIngelogde app-gebruikers
privateElke gebruiker ziet alleen zijn eigen recordsAlleen de eigenaar van het record
readonlyIedereenAlleen jij, via het tabblad Data

Limieten

Records tot 1 MB per stuk; 50.000 records per app (neem contact op voor meer).