Tietokanta (m77.db)
Kokoelmat, kyselyt ja käyttäjäkohtainen data.
m77.db on skeematon dokumenttitietokanta. Kokoelmat luodaan automaattisesti, kun kirjoitat niihin ensimmäisen kerran.
Luominen
const task = await m77.db.create('tasks', { title: 'Ship v2', done: false, priority: 2 });
// → { id, title, done, priority, createdAt, updatedAt, ownerId }Lukeminen
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 } });Suodattimet
where vertaa kenttiä täsmällisesti ja tukee operaattoreita:
| Operaattori | Esimerkki |
|---|---|
| on yhtä kuin | { status: 'paid' } |
$ne | { status: { $ne: 'draft' } } |
$in | { status: { $in: ['sent', 'paid'] } } |
$gt / $gte / $lt / $lte | { total: { $gte: 100 } } |
$contains | { name: { $contains: 'ann' } } (kirjainkoolla ei väliä) |
sort ottaa kentän nimen, ja --etuliite tarkoittaa laskevaa järjestystä (oletus -createdAt). limit on enintään 500, offset sivuttaa.
Päivittäminen ja poistaminen
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);Käyttäjäkohtainen data
Tietueet, jotka luodaan käyttäjän ollessa kirjautuneena, saavat ownerId:n. Hae vain nykyisen käyttäjän tietueet mine: true -asetuksella:
const myNotes = await m77.db.list('notes', { mine: true });Tietueita, joilla on omistaja, voi päivittää tai poistaa vain omistaja itse.
Käyttöoikeussäännöt
Jokainen kokoelma on oletuksena julkinen. Rajaa sitä kokoelmakohtaisesti editorin Data-välilehdellä tai anna sovelluksesi määritellä säännöt m77.config.json-tiedostossa:
{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }| Sääntö | Kuka voi lukea | Kuka voi kirjoittaa |
|---|---|---|
public | Kuka tahansa | Kuka tahansa |
auth | Kirjautuneet sovelluksen käyttäjät | Kirjautuneet sovelluksen käyttäjät |
private | Jokainen näkee vain omat tietueensa | Vain tietueen omistaja |
readonly | Kuka tahansa | Vain sinä, Data-välilehdeltä |
Rajoitukset
Tietueet enintään 1 Mt kukin; 50 000 tietuetta sovellusta kohden (ota yhteyttä, jos tarvitset enemmän).