Diese Dokumentation wurde automatisch von KI übersetzt.
Eine Sammlung (Collection) wird verwendet, um Datenmodelle im System zu definieren, einschließlich Informationen wie Modellnamen, Feldern, Indizes und Verknüpfungen.
Sie wird in der Regel über die collection-Methode einer Database-Instanz als Proxy-Einstiegspunkt aufgerufen.
Weitere Feldtypen finden Sie unter Felder.
Signatur
constructor(options: CollectionOptions, context: CollectionContext)Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
options.name | string | - | Bezeichner der Sammlung |
options.tableName? | string | - | Name der Datenbanktabelle. Falls nicht angegeben, wird der Wert von options.name verwendet. |
options.fields? | FieldOptions[] | - | Felddefinitionen. Details finden Sie unter Feld. |
options.model? | string | ModelStatic<Model> | - | Sequelize Model-Typ. Wenn ein string verwendet wird, muss der Modellname zuvor in der Datenbank registriert worden sein. |
options.repository? | string | RepositoryType | - | Repository-Typ. Wenn ein string verwendet wird, muss der Repository-Typ zuvor in der Datenbank registriert worden sein. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | Konfiguration für sortierbare Felder. Standardmäßig nicht sortierbar. |
options.autoGenId? | boolean | true | Gibt an, ob ein eindeutiger Primärschlüssel automatisch generiert werden soll. Standardmäßig true. |
context.database | Database | - | Die Datenbank im aktuellen Kontext. |
Beispiel
Eine Sammlung für Beiträge erstellen:
optionsDie initialen Konfigurationsparameter für die Sammlung. Entspricht dem options-Parameter des Konstruktors.
contextDer Kontext, zu dem die aktuelle Sammlung gehört, derzeit hauptsächlich die Datenbankinstanz.
nameName der Sammlung.
dbDie Datenbankinstanz, zu der sie gehört.
filterTargetKeyDer als Primärschlüssel verwendete Feldname.
isThroughGibt an, ob es sich um eine Zwischensammlung handelt.
modelEntspricht dem Sequelize Model-Typ.
repositoryInstanz des Daten-Repositorys.
getField()Ruft das Feldobjekt mit dem entsprechenden Namen ab, das in der Sammlung definiert ist.
Signatur
getField(name: string): FieldParameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
name | string | - | Feldname |
Beispiel
setField()Setzt ein Feld für die Sammlung.
Signatur
setField(name: string, options: FieldOptions): FieldParameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
name | string | - | Feldname |
options | FieldOptions | - | Feldkonfiguration. Details finden Sie unter Feld. |
Beispiel
setFields()Setzt mehrere Felder für die Sammlung im Stapelbetrieb.
Signatur
setFields(fields: FieldOptions[], resetFields = true): Field[]Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
fields | FieldOptions[] | - | Feldkonfiguration. Details finden Sie unter Feld. |
resetFields | boolean | true | Gibt an, ob bestehende Felder zurückgesetzt werden sollen. |
Beispiel
removeField()Entfernt das Feldobjekt mit dem entsprechenden Namen, das in der Sammlung definiert ist.
Signatur
removeField(name: string): void | FieldParameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
name | string | - | Feldname |
Beispiel
resetFields()Setzt die Felder der Sammlung zurück (leert sie).
Signatur
resetFields(): voidBeispiel
hasField()Prüft, ob ein Feldobjekt mit dem entsprechenden Namen in der Sammlung definiert ist.
Signatur
hasField(name: string): booleanParameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
name | string | - | Feldname |
Beispiel
findField()Findet ein Feldobjekt in der Sammlung, das den Kriterien entspricht.
Signatur
findField(predicate: (field: Field) => boolean): Field | undefinedParameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
predicate | (field: Field) => boolean | - | Suchkriterien |
Beispiel
forEachField()Iteriert über die Feldobjekte in der Sammlung.
Signatur
forEachField(callback: (field: Field) => void): voidParameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
callback | (field: Field) => void | - | Callback-Funktion |
Beispiel
addIndex()Fügt der Sammlung einen Index hinzu.
Signatur
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
index | string | string[] | - | Feldname(n) für die Indexkonfiguration. |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | Vollständige Konfiguration. |
Beispiel
removeIndex()Entfernt einen Index aus der Sammlung.
Signatur
removeIndex(fields: string[])Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
fields | string[] | - | Kombination von Feldnamen für den zu entfernenden Index. |
Beispiel
remove()Löscht die Sammlung.
Signatur
remove(): voidBeispiel
sync()Synchronisiert die Sammlungsdefinition mit der Datenbank. Zusätzlich zur Standardlogik von Model.sync in Sequelize werden auch Sammlungen verarbeitet, die Verknüpfungsfeldern entsprechen.
Signatur
sync(): Promise<void>Beispiel
existsInDb()Prüft, ob die Sammlung in der Datenbank existiert.
Signatur
existsInDb(options?: Transactionable): Promise<boolean>Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
options?.transaction | Transaction | - | Transaktionsinstanz |
Beispiel
removeFromDb()Signatur
removeFromDb(): Promise<void>Beispiel