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:
| Operators | Piemē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" } }| Noteikums | Kas var lasīt | Kas var rakstīt |
|---|---|---|
public | Jebkurš | Jebkurš |
auth | Pieteikušies lietotnes lietotāji | Pieteikušies lietotnes lietotāji |
private | Katrs lietotājs redz tikai savus ierakstus | Tikai ieraksta īpašnieks |
readonly | Jebkurš | 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).