Diese Dokumentation wurde automatisch von KI übersetzt.
Database
Database ist ein wichtiger Bestandteil von Datenquellen (DataSource) vom Typ Datenbank. Jede datenbankbasierte Datenquelle verfügt über eine entsprechende Database-Instanz, die Sie über dataSource.db aufrufen können. Die Database-Instanz der Haupt-Datenquelle bietet zusätzlich den praktischen Alias app.db. Die Kenntnis der gängigen db-Methoden ist die Grundlage für die Entwicklung von serverseitigen Plugins.
Bestandteile der Database
Eine typische Database setzt sich aus den folgenden Teilen zusammen:
- Sammlung: Definiert die Struktur von Datentabellen.
- Model: Entspricht den ORM-Modellen (normalerweise von Sequelize verwaltet).
- Repository: Die Repository-Schicht, die die Datenzugriffslogik kapselt und übergeordnete Operationsmethoden bereitstellt.
- FieldType: Feldtypen.
- FilterOperator: Operatoren, die zum Filtern verwendet werden.
- Event: Lebenszyklus-Ereignisse und Datenbank-Ereignisse.
Einsatzzeitpunkte in Plugins
Geeignete Aktionen in der beforeLoad-Phase
In dieser Phase sind Datenbankoperationen nicht erlaubt. Sie eignet sich für die Registrierung statischer Klassen oder das Abonnieren von Ereignissen.
db.registerFieldTypes()— Benutzerdefinierte Feldtypendb.registerModels()— Benutzerdefinierte Modellklassen registrierendb.registerRepositories()— Benutzerdefinierte Repository-Klassen registrierendb.registerOperators()— Benutzerdefinierte Filteroperatoren registrierendb.on()— Datenbankbezogene Ereignisse abonnieren
Geeignete Aktionen in der load-Phase
In dieser Phase sind alle vorhergehenden Klassendefinitionen und Ereignisse bereits geladen, sodass beim Laden von Datentabellen keine Abhängigkeiten fehlen oder übersehen werden.
db.defineCollection()— Neue Datentabellen definierendb.extendCollection()— Bestehende Datentabellenkonfigurationen erweitern
Wenn Sie integrierte Tabellen für Plugins definieren, empfiehlt es sich, diese im Verzeichnis ./src/server/collections abzulegen. Weitere Informationen finden Sie unter Sammlungen.
Datenoperationen
Die Database bietet zwei Hauptmethoden für den Datenzugriff und die Datenbearbeitung:
Operationen über das Repository
Die Repository-Schicht wird typischerweise verwendet, um Geschäftslogik wie Paginierung, Filterung, Berechtigungsprüfungen usw. zu kapseln.
Operationen über das Model
Die Model-Schicht entspricht direkt den ORM-Entitäten und eignet sich für Datenbankoperationen auf niedrigerer Ebene.

