Diese Dokumentation wurde automatisch von KI übersetzt.
Bei der Entwicklung von NocoBase-Plugins ist die Sammlung (Collection) eines der zentralen Konzepte. Sie können die Struktur von Datentabellen in Ihren Plugins hinzufügen oder ändern, indem Sie Sammlungen definieren oder erweitern. Im Gegensatz zu Datentabellen, die über die Oberfläche der Datenquellenverwaltung erstellt werden, handelt es sich bei im Code definierten Sammlungen in der Regel um Metadatentabellen auf Systemebene, die nicht in der Liste der Datenquellenverwaltung erscheinen.
Gemäß der konventionellen Verzeichnisstruktur sollten Sammlungsdateien im Verzeichnis ./src/server/collections abgelegt werden. Verwenden Sie defineCollection(), um neue Tabellen zu erstellen, und extendCollection(), um bestehende Tabellen zu erweitern.
Im obigen Beispiel:
name: Der Tabellenname (eine Tabelle mit demselben Namen wird automatisch in der Datenbank generiert).title: Der Anzeigename der Tabelle in der Benutzeroberfläche.fields: Eine Sammlung von Feldern, wobei jedes Feld Attribute wie type, name usw. enthält.Wenn Sie Felder hinzufügen oder Konfigurationen für Sammlungen anderer Plugins ändern müssen, können Sie extendCollection() verwenden:
Nach der Aktivierung des Plugins fügt das System das Feld isPublished automatisch der bestehenden articles-Tabelle hinzu.
Die konventionelle Verzeichnisstruktur wird geladen, bevor die load()-Methoden aller Plugins ausgeführt werden. Dadurch werden Abhängigkeitsprobleme vermieden, die durch nicht geladene Datentabellen entstehen könnten.
Wenn ein Plugin zum ersten Mal aktiviert wird, synchronisiert das System automatisch die Sammlungs-Konfigurationen mit der Datenbankstruktur. Ist das Plugin bereits installiert und in Betrieb, müssen Sie nach dem Hinzufügen oder Ändern von Sammlungen den Upgrade-Befehl manuell ausführen:
Sollten während der Synchronisierung Ausnahmen oder inkonsistente Daten auftreten, können Sie die Tabellenstruktur durch eine Neuinstallation der Anwendung wiederherstellen:
Nachdem Sie eine Sammlung definiert haben, generiert das System automatisch eine entsprechende Ressource. Auf dieser Ressource können Sie dann direkt CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) über die API ausführen. Weitere Informationen finden Sie unter Ressourcenverwaltung.