Backend και 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 });

Εγγραφές με κάτοχο μπορεί να τις ενημερώσει ή να τις διαγράψει μόνο ο κάτοχός τους.

Κανόνες πρόσβασης

Κάθε συλλογή είναι δημόσια από προεπιλογή. Κλείδωσέ την ανά συλλογή στην καρτέλα Δεδομένα του builder ή άφησε την εφαρμογή σου να δηλώσει κανόνες σε ένα αρχείο m77.config.json:

{ "rules": { "notes": "private", "menu": "readonly", "orders": "auth" } }
ΚανόναςΠοιος διαβάζειΠοιος γράφει
publicΟποιοσδήποτεΟποιοσδήποτε
authΣυνδεδεμένοι χρήστες της εφαρμογήςΣυνδεδεμένοι χρήστες της εφαρμογής
privateΚάθε χρήστης βλέπει μόνο τις δικές του εγγραφέςΜόνο ο κάτοχος της εγγραφής
readonlyΟποιοσδήποτεΜόνο εσύ, από την καρτέλα Δεδομένα

Όρια

Εγγραφές έως 1 MB η καθεμία· 50.000 εγγραφές ανά εφαρμογή (επικοινώνησε μαζί μας αν χρειάζεσαι περισσότερες).