Бекенд и SDK

База данни (m77.db)

Колекции, заявки и данни за всеки потребител.

m77.db е документна база данни без схема. Колекциите се създават автоматично при първия запис в тях.

Създаване

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

Четене

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

Филтри

where сравнява полетата точно и поддържа оператори:

ОператорПример
равно{ status: 'paid' }
$ne{ status: { $ne: 'draft' } }
$in{ status: { $in: ['sent', 'paid'] } }
$gt / $gte / $lt / $lte{ total: { $gte: 100 } }
$contains{ name: { $contains: 'ann' } } (без значение главни или малки букви)

sort приема име на поле, с - отпред за низходящ ред (по подразбиране -createdAt). limit е до 500, а offset служи за страниране.

Обновяване и изтриване

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

Данни за всеки потребител

Записите, създадени докато потребителят е влязъл, получават ownerId. Извличай само записите на текущия потребител с mine: true:

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

Записи със собственик могат да се обновяват или изтриват само от този собственик.

Правила за достъп

Всяка колекция е публична по подразбиране. Заключи я поотделно в раздела Данни на редактора или остави приложението да декларира правила във файл m77.config.json:

{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }
ПравилоКой може да четеКой може да пише
publicВсекиВсеки
authВлезли потребители на приложениетоВлезли потребители на приложението
privateВсеки потребител вижда само своите записиСамо собственикът на записа
readonlyВсекиСамо ти, от раздела Данни

Ограничения

Записи до 1 MB всеки; 50 000 записа на приложение (свържи се с нас, ако ти трябват повече).