Βάση δεδομένων (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 εγγραφές ανά εφαρμογή (επικοινώνησε μαζί μας αν χρειάζεσαι περισσότερες).