Aizmugursistēma un SDK

Datubāze (m77.db)

Kolekcijas, vaicājumi un katra lietotāja dati.

m77.db ir dokumentu datubāze bez shēmas. Kolekcijas tiek izveidotas automātiski, kad tajās raksti pirmo reizi.

Izveide

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

Lasīšana

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

Filtri

where salīdzina laukus precīzi un atbalsta operatorus:

OperatorsPiemērs
vienāds{ status: 'paid' }
$ne{ status: { $ne: 'draft' } }
$in{ status: { $in: ['sent', 'paid'] } }
$gt / $gte / $lt / $lte{ total: { $gte: 100 } }
$contains{ name: { $contains: 'ann' } } (neatkarīgi no reģistra)

sort pieņem lauka nosaukumu, dilstošai secībai ar priedēkli - (noklusējums -createdAt). limit ir līdz 500, offset — lapošanai.

Atjaunināšana un dzēšana

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

Katra lietotāja dati

Ieraksti, kas izveidoti, kamēr lietotājs ir pieteicies, saņem ownerId. Tikai pašreizējā lietotāja ierakstus iegūsti ar mine: true:

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

Ierakstus ar īpašnieku var atjaunināt vai dzēst tikai to īpašnieks.

Piekļuves noteikumi

Katra kolekcija pēc noklusējuma ir publiska. Ierobežo to katrai kolekcijai atsevišķi redaktora cilnē Dati vai ļauj lietotnei noteikt noteikumus failā m77.config.json:

{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }
NoteikumsKas var lasītKas var rakstīt
publicJebkuršJebkurš
authPieteikušies lietotnes lietotājiPieteikušies lietotnes lietotāji
privateKatrs lietotājs redz tikai savus ierakstusTikai ieraksta īpašnieks
readonlyJebkuršTikai tu, no cilnes Dati

Ierobežojumi

Ieraksti līdz 1 MB katrs; 50 000 ierakstu vienai lietotnei (ja vajag vairāk, sazinies ar mums).