Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
Die an den aktuellen RunJS-Ausführungskontext gebundene Datenquelle-Instanz (DataSource), die verwendet wird, um auf Sammlungen, Feld-Metadaten zuzugreifen und Sammlungs-Konfigurationen innerhalb der aktuellen Datenquelle zu verwalten. Sie entspricht normalerweise der für die aktuelle Seite oder den aktuellen Block ausgewählten Datenquelle (z. B. die Hauptdatenbank main).
| Szenario | Beschreibung |
|---|---|
| Operationen auf einer einzelnen Datenquelle | Abrufen von Sammlungs- und Feld-Metadaten, wenn die aktuelle Datenquelle bekannt ist. |
| Verwaltung von Sammlungen | Abrufen, Hinzufügen, Aktualisieren oder Löschen von Sammlungen unter der aktuellen Datenquelle. |
| Felder über Pfade abrufen | Verwendung des Formats sammlungsName.feldPfad, um Felddefinitionen abzurufen (unterstützt Verknüpfungspfade). |
Hinweis:
ctx.dataSourcerepräsentiert eine einzelne Datenquelle für den aktuellen Kontext. Um andere Datenquellen aufzuzählen oder darauf zuzugreifen, verwenden Sie bitte ctx.dataSourceManager.
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
key | string | Datenquellen-Key, z. B. 'main' |
name | string | Entspricht dem Key |
displayName | string | Anzeigename (unterstützt i18n) |
flowEngine | FlowEngine | Aktuelle FlowEngine-Instanz |
| Methode | Beschreibung |
|---|---|
getCollections() | Ruft alle Sammlungen unter der aktuellen Datenquelle ab (sortiert, versteckte gefiltert). |
getCollection(name) | Ruft eine Sammlung nach Name ab; name kann sammlungsName.feldName sein, um die Ziel-Sammlung einer Verknüpfung abzurufen. |
getAssociation(associationName) | Ruft eine Verknüpfungsfeld-Definition über sammlungsName.feldName ab. |
getCollectionField(fieldPath) | Ruft eine Felddefinition über sammlungsName.feldPfad ab, unterstützt Verknüpfungspfade wie users.profile.avatar. |
| Anforderung | Empfohlene Verwendung |
|---|---|
| Einzelne an den aktuellen Kontext gebundene Datenquelle | ctx.dataSource |
| Einstiegspunkt für alle Datenquellen | ctx.dataSourceManager |
| Sammlung innerhalb der aktuellen Datenquelle abrufen | ctx.dataSource.getCollection(name) |
| Datenquellenübergreifendes Abrufen von Sammlungen | ctx.dataSourceManager.getCollection(dataSourceKey, collectionName) |
| Feld innerhalb der aktuellen Datenquelle abrufen | ctx.dataSource.getCollectionField('users.profile.avatar') |
| Datenquellenübergreifendes Abrufen von Feldern | ctx.dataSourceManager.getCollectionField('main.users.profile.avatar') |
getCollectionField(fieldPath) ist sammlungsName.feldPfad, wobei das erste Segment der Name der Sammlung ist und die folgenden Segmente der Feldpfad sind (unterstützt Verknüpfungen, z. B. user.name).getCollection(name) unterstützt das Format sammlungsName.feldName und gibt die Ziel-Sammlung des Verknüpfungsfeldes zurück.ctx.dataSource normalerweise durch die Datenquelle des aktuellen Blocks oder der aktuellen Seite bestimmt. Wenn keine Datenquelle an den Kontext gebunden ist, kann sie undefined sein; es wird empfohlen, vor der Verwendung eine Prüfung auf Nullwerte durchzuführen.