Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen
Samling används för att definiera datamodeller i systemet, till exempel modellnamn, fält, index, associationer och annan information.
Den anropas vanligtvis via collection-metoden på en Database-instans som en proxy-ingång.
För fler fälttyper, se Fält.
Signatur
constructor(options: CollectionOptions, context: CollectionContext)Parametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
options.name | string | - | samlingsidentifierare |
options.tableName? | string | - | Databasens tabellnamn. Om det inte anges används värdet från options.name. |
options.fields? | FieldOptions[] | - | Fältdefinitioner. Se Fält för mer information. |
options.model? | string | ModelStatic<Model> | - | Sequelize Model-typ. Om en string används måste modellnamnet ha registrerats tidigare i databasen. |
options.repository? | string | RepositoryType | - | Repository-typ. Om en string används måste repository-typen ha registrerats tidigare i databasen. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | Konfiguration för sorterbara fält. Inte sorterbar som standard. |
options.autoGenId? | boolean | true | Om en unik primärnyckel ska genereras automatiskt. Standard är true. |
context.database | Database | - | Databasen i den aktuella kontexten. |
Exempel
Skapa en samling för inlägg:
optionsInitiala konfigurationsparametrar för samlingen. Samma som konstruktorns options-parameter.
contextKontexten som den aktuella samlingen tillhör, för närvarande främst databasinstansen.
nameSamlingsnamn.
dbDatabasinstansen den tillhör.
filterTargetKeyFältnamnet som används som primärnyckel.
isThroughOm det är en genomgående samling (through collection).
modelMatchar Sequelize Model-typen.
repositoryRepository-instans.
getField()Hämtar fältobjektet med motsvarande namn som definierats i samlingen.
Signatur
getField(name: string): FieldParametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
name | string | - | Fältnamn |
Exempel
setField()Ställer in ett fält för samlingen.
Signatur
setField(name: string, options: FieldOptions): FieldParametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
name | string | - | Fältnamn |
options | FieldOptions | - | Fältkonfiguration. Se Fält för mer information. |
Exempel
setFields()Ställer in flera fält för samlingen i en batch.
Signatur
setFields(fields: FieldOptions[], resetFields = true): Field[]Parametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
fields | FieldOptions[] | - | Fältkonfiguration. Se Fält för mer information. |
resetFields | boolean | true | Om befintliga fält ska återställas. |
Exempel
removeField()Tar bort fältobjektet med motsvarande namn som definierats i samlingen.
Signatur
removeField(name: string): void | FieldParametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
name | string | - | Fältnamn |
Exempel
resetFields()Återställer (rensar) samlingens fält.
Signatur
resetFields(): voidExempel
hasField()Kontrollerar om ett fältobjekt med motsvarande namn är definierat i samlingen.
Signatur
hasField(name: string): booleanParametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
name | string | - | Fältnamn |
Exempel
findField()Hittar ett fältobjekt i samlingen som uppfyller kriterierna.
Signatur
findField(predicate: (field: Field) => boolean): Field | undefinedParametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
predicate | (field: Field) => boolean | - | Sökkriterier |
Exempel
forEachField()Itererar över fältobjekten i samlingen.
Signatur
forEachField(callback: (field: Field) => void): voidParametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
callback | (field: Field) => void | - | Callback-funktion |
Exempel
addIndex()Lägger till ett index i samlingen.
Signatur
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })Parametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
index | string | string[] | - | Fältnamn som ska indexeras. |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | Fullständig konfiguration. |
Exempel
removeIndex()Tar bort ett index från samlingen.
Signatur
removeIndex(fields: string[])Parametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
fields | string[] | - | Kombination av fältnamn för indexet som ska tas bort. |
Exempel
remove()Tar bort samlingen.
Signatur
remove(): voidExempel
sync()Synkroniserar samlingsdefinitionen med databasen. Utöver standardlogiken för Model.sync i Sequelize, hanterar den även samlingar som motsvarar associationsfält.
Signatur
sync(): Promise<void>Exempel
existsInDb()Kontrollerar om samlingen finns i databasen.
Signatur
existsInDb(options?: Transactionable): Promise<boolean>Parametrar
| Parameter | Typ | Standard | Beskrivning |
|---|---|---|---|
options?.transaction | Transaction | - | Transaktionsinstans |
Exempel
removeFromDb()Signatur
removeFromDb(): Promise<void>Exempel