База даних (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 МБ кожен; 50 000 записів на додаток (зв’яжися з нами, якщо потрібно більше).