Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie
Collectie wordt gebruikt om datamodellen in het systeem te definiëren, zoals modelnamen, velden, indexen, associaties en andere informatie.
U roept deze doorgaans aan via de collection-methode van een Database-instantie als een proxy-ingang.
Voor meer veldtypes, zie Velden.
Signature
constructor(options: CollectionOptions, context: CollectionContext)Parameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
options.name | string | - | identificatie van de collectie |
options.tableName? | string | - | Naam van de databasetabel. Indien niet opgegeven, wordt de waarde van options.name gebruikt. |
options.fields? | FieldOptions[] | - | Velddefinities. Zie Veld voor details. |
options.model? | string | ModelStatic<Model> | - | Sequelize Model type. Als een string wordt gebruikt, moet de modelnaam eerder in de database zijn geregistreerd. |
options.repository? | string | RepositoryType | - | Repository type. Als een string wordt gebruikt, moet het repository type eerder in de database zijn geregistreerd. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | Configuratie voor sorteerbare velden. Standaard niet sorteerbaar. |
options.autoGenId? | boolean | true | Of er automatisch een unieke primaire sleutel moet worden gegenereerd. Standaard true. |
context.database | Database | - | De database in de huidige context. |
Voorbeeld
Maak een collectie voor berichten aan:
optionsInitiële configuratieparameters voor de collectie. Gelijk aan de options-parameter van de constructor.
contextDe context waartoe de huidige collectie behoort, momenteel voornamelijk de database-instantie.
nameNaam van de collectie.
dbDe database-instantie waartoe het behoort.
filterTargetKeyDe veldnaam die als primaire sleutel wordt gebruikt.
isThroughOf het een tussencollectie is.
modelKomt overeen met het Sequelize Model type.
repositoryRepository-instantie.
getField()Haalt het veldobject op met de corresponderende naam zoals gedefinieerd in de collectie.
Signature
getField(name: string): FieldParameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
name | string | - | Veldnaam |
Voorbeeld
setField()Stelt een veld in voor de collectie.
Signature
setField(name: string, options: FieldOptions): FieldParameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
name | string | - | Veldnaam |
options | FieldOptions | - | Veldconfiguratie. Zie Veld voor details. |
Voorbeeld
setFields()Stelt meerdere velden tegelijk in voor de collectie.
Signature
setFields(fields: FieldOptions[], resetFields = true): Field[]Parameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
fields | FieldOptions[] | - | Veldconfiguratie. Zie Veld voor details. |
resetFields | boolean | true | Of bestaande velden moeten worden gereset. |
Voorbeeld
removeField()Verwijdert het veldobject met de corresponderende naam zoals gedefinieerd in de collectie.
Signature
removeField(name: string): void | FieldParameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
name | string | - | Veldnaam |
Voorbeeld
resetFields()Reset (leegt) de velden van de collectie.
Signature
resetFields(): voidVoorbeeld
hasField()Controleert of een veldobject met de corresponderende naam is gedefinieerd in de collectie.
Signature
hasField(name: string): booleanParameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
name | string | - | Veldnaam |
Voorbeeld
findField()Zoekt een veldobject in de collectie dat voldoet aan de criteria.
Signature
findField(predicate: (field: Field) => boolean): Field | undefinedParameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
predicate | (field: Field) => boolean | - | Zoekcriteria |
Voorbeeld
forEachField()Itereert over de veldobjecten in de collectie.
Signature
forEachField(callback: (field: Field) => void): voidParameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
callback | (field: Field) => void | - | Callback-functie |
Voorbeeld
addIndex()Voegt een index toe aan de collectie.
Signature
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })Parameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
index | string | string[] | - | Veldnaam/veldnamen die geïndexeerd moeten worden. |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | Volledige configuratie. |
Voorbeeld
removeIndex()Verwijdert een index uit de collectie.
Signature
removeIndex(fields: string[])Parameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
fields | string[] | - | Combinatie van veldnamen voor de te verwijderen index. |
Voorbeeld
remove()Verwijdert de collectie.
Signature
remove(): voidVoorbeeld
sync()Synchroniseert de collectiedefinitie met de database. Naast de standaardlogica van Model.sync in Sequelize, verwerkt het ook collecties die overeenkomen met associatievelden.
Signature
sync(): Promise<void>Voorbeeld
existsInDb()Controleert of de collectie bestaat in de database.
Signature
existsInDb(options?: Transactionable): Promise<boolean>Parameters
| Parameter | Type | Standaardwaarde | Beschrijving |
|---|---|---|---|
options?.transaction | Transaction | - | Transactie-instantie |
Voorbeeld
removeFromDb()Signature
removeFromDb(): Promise<void>Voorbeeld