Database (m77.db)
Samlinger, spørringer og data per bruker.
m77.db er en skjemaløs dokumentdatabase. Samlinger opprettes automatisk første gang du skriver til dem.
Opprett
const task = await m77.db.create('tasks', { title: 'Ship v2', done: false, priority: 2 });
// → { id, title, done, priority, createdAt, updatedAt, ownerId }Les
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 } });Filtre
where sammenligner felt eksakt og støtter operatorer:
| Operator | Eksempel |
|---|---|
| lik | { status: 'paid' } |
$ne | { status: { $ne: 'draft' } } |
$in | { status: { $in: ['sent', 'paid'] } } |
$gt / $gte / $lt / $lte | { total: { $gte: 100 } } |
$contains | { name: { $contains: 'ann' } } (skiller ikke mellom store og små bokstaver) |
sort tar et feltnavn, med - foran for synkende rekkefølge (standard -createdAt). limit kan være opptil 500, og offset brukes til paginering.
Oppdater og slett
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 bruker
Poster som opprettes mens en bruker er innlogget, får en ownerId. Hent bare den gjeldende brukerens poster med mine: true:
const myNotes = await m77.db.list('notes', { mine: true });Poster med en eier kan bare oppdateres eller slettes av den eieren.
Tilgangsregler
Hver samling er offentlig som standard. Lås den per samling i fanen Data i byggeverktøyet, eller la appen din angi regler i en m77.config.json-fil:
{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }| Regel | Hvem kan lese | Hvem kan skrive |
|---|---|---|
public | Alle | Alle |
auth | Innloggede appbrukere | Innloggede appbrukere |
private | Hver bruker ser bare sine egne poster | Bare postens eier |
readonly | Alle | Bare deg, fra Data-fanen |
Grenser
Poster på opptil 1 MB hver; 50 000 poster per app (kontakt oss hvis du trenger flere).