Questa documentazione è stata tradotta automaticamente dall'IA.
Una collezione serve a definire i modelli di dati all'interno del sistema, includendo informazioni come il nome del modello, i campi, gli indici e le associazioni. Solitamente, viene richiamata tramite il metodo collection di un'istanza Database, che funge da punto di accesso.
Per ulteriori tipi di campo, consulti Campi.
Firma
constructor(options: CollectionOptions, context: CollectionContext)Parametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
options.name | string | - | Identificatore della collezione |
options.tableName? | string | - | Nome della tabella del database. Se non fornito, verrà utilizzato il valore di options.name. |
options.fields? | FieldOptions[] | - | Definizioni dei campi. Per i dettagli, veda Campo. |
options.model? | string | ModelStatic<Model> | - | Tipo di modello Sequelize. Se si utilizza una stringa, il nome del modello deve essere stato precedentemente registrato nel database. |
options.repository? | string | RepositoryType | - | Tipo di repository. Se si utilizza una stringa, il tipo di repository deve essere stato precedentemente registrato nel database. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | Configurazione del campo ordinabile. Non ordinabile per impostazione predefinita. |
options.autoGenId? | boolean | true | Indica se generare automaticamente una chiave primaria univoca. Il valore predefinito è true. |
context.database | Database | - | Il database nel contesto attuale. |
Esempio
Creare una collezione di articoli:
optionsParametri di configurazione iniziali per la collezione. Sono gli stessi del parametro options del costruttore.
contextIl contesto a cui appartiene la collezione attuale, che al momento è principalmente l'istanza del database.
nameNome della collezione.
dbL'istanza del database a cui appartiene.
filterTargetKeyIl nome del campo utilizzato come chiave primaria.
isThroughIndica se si tratta di una collezione intermedia.
modelCorrisponde al tipo di modello Sequelize.
repositoryIstanza del repository.
getField()Recupera l'oggetto campo con il nome corrispondente definito nella collezione.
Firma
getField(name: string): FieldParametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
name | string | - | Nome del campo |
Esempio
setField()Imposta un campo per la collezione.
Firma
setField(name: string, options: FieldOptions): FieldParametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
name | string | - | Nome del campo |
options | FieldOptions | - | Configurazione del campo. Per i dettagli, veda Campo. |
Esempio
setFields()Imposta più campi per la collezione in blocco.
Firma
setFields(fields: FieldOptions[], resetFields = true): Field[]Parametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
fields | FieldOptions[] | - | Configurazione dei campi. Per i dettagli, veda Campo. |
resetFields | boolean | true | Indica se reimpostare i campi esistenti. |
Esempio
removeField()Rimuove l'oggetto campo con il nome corrispondente definito nella collezione.
Firma
removeField(name: string): void | FieldParametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
name | string | - | Nome del campo |
Esempio
resetFields()Reimposta (cancella) i campi della collezione.
Firma
resetFields(): voidEsempio
hasField()Verifica se un oggetto campo con il nome corrispondente è definito nella collezione.
Firma
hasField(name: string): booleanParametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
name | string | - | Nome del campo |
Esempio
findField()Trova un oggetto campo nella collezione che soddisfa i criteri.
Firma
findField(predicate: (field: Field) => boolean): Field | undefinedParametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
predicate | (field: Field) => boolean | - | Criteri di ricerca |
Esempio
forEachField()Itera sugli oggetti campo nella collezione.
Firma
forEachField(callback: (field: Field) => void): voidParametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
callback | (field: Field) => void | - | Funzione di callback |
Esempio
addIndex()Aggiunge un indice alla collezione.
Firma
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })Parametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
index | string | string[] | - | Nome/i del campo/i da indicizzare. |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | Configurazione completa. |
Esempio
removeIndex()Rimuove un indice dalla collezione.
Firma
removeIndex(fields: string[])Parametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
fields | string[] | - | Combinazione di nomi di campo per l'indice da rimuovere. |
Esempio
remove()Elimina la collezione.
Firma
remove(): voidEsempio
sync()Sincronizza la definizione della collezione con il database. Oltre alla logica predefinita di Model.sync in Sequelize, gestisce anche le collezioni corrispondenti ai campi di associazione.
Firma
sync(): Promise<void>Esempio
existsInDb()Verifica se la collezione esiste nel database.
Firma
existsInDb(options?: Transactionable): Promise<boolean>Parametri
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
options?.transaction | Transaction | - | Istanza della transazione |
Esempio
removeFromDb()Firma
removeFromDb(): Promise<void>Esempio