Esta documentación ha sido traducida automáticamente por IA.
La colección se utiliza para definir modelos de datos en el sistema, como nombres de modelos, campos, índices, asociaciones y otra información.
Generalmente, se invoca a través del método collection de una instancia de Database como punto de entrada de proxy.
Para más tipos de campos, consulte Campos.
Firma
constructor(options: CollectionOptions, context: CollectionContext)Parámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
options.name | string | - | Identificador de la colección |
options.tableName? | string | - | Nombre de la tabla de la base de datos. Si no se proporciona, se utilizará el valor de options.name. |
options.fields? | FieldOptions[] | - | Definiciones de campos. Consulte Campo para más detalles. |
options.model? | string | ModelStatic<Model> | - | Tipo de modelo de Sequelize. Si se utiliza una string, el nombre del modelo debe haberse registrado previamente en la base de datos. |
options.repository? | string | RepositoryType | - | Tipo de repositorio. Si se utiliza una string, el tipo de repositorio debe haberse registrado previamente en la base de datos. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | Configuración del campo ordenable. Por defecto, no es ordenable. |
options.autoGenId? | boolean | true | Indica si se debe generar automáticamente una clave primaria única. El valor predeterminado es true. |
context.database | Database | - | La base de datos en el contexto actual. |
Ejemplo
Crear una colección de publicaciones:
optionsParámetros de configuración inicial de la colección. Son los mismos que el parámetro options del constructor.
contextEl contexto al que pertenece la colección actual, que actualmente es principalmente la instancia de la base de datos.
nameNombre de la colección.
dbLa instancia de base de datos a la que pertenece.
filterTargetKeyEl nombre del campo utilizado como clave primaria.
isThroughIndica si es una colección intermedia.
modelCoincide con el tipo de modelo de Sequelize.
repositoryInstancia del repositorio.
getField()Obtiene el objeto de campo con el nombre correspondiente definido en la colección.
Firma
getField(name: string): FieldParámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
name | string | - | Nombre del campo |
Ejemplo
setField()Establece un campo para la colección.
Firma
setField(name: string, options: FieldOptions): FieldParámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
name | string | - | Nombre del campo |
options | FieldOptions | - | Configuración del campo. Consulte Campo para más detalles. |
Ejemplo
setFields()Establece múltiples campos para la colección en lote.
Firma
setFields(fields: FieldOptions[], resetFields = true): Field[]Parámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
fields | FieldOptions[] | - | Configuración del campo. Consulte Campo para más detalles. |
resetFields | boolean | true | Indica si se deben restablecer los campos existentes. |
Ejemplo
removeField()Elimina el objeto de campo con el nombre correspondiente definido en la colección.
Firma
removeField(name: string): void | FieldParámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
name | string | - | Nombre del campo |
Ejemplo
resetFields()Restablece (borra) los campos de la colección.
Firma
resetFields(): voidEjemplo
hasField()Comprueba si un objeto de campo con el nombre correspondiente está definido en la colección.
Firma
hasField(name: string): booleanParámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
name | string | - | Nombre del campo |
Ejemplo
findField()Encuentra un objeto de campo en la colección que cumple con los criterios.
Firma
findField(predicate: (field: Field) => boolean): Field | undefinedParámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
predicate | (field: Field) => boolean | - | Criterios de búsqueda |
Ejemplo
forEachField()Itera sobre los objetos de campo en la colección.
Firma
forEachField(callback: (field: Field) => void): voidParámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
callback | (field: Field) => void | - | Función de callback |
Ejemplo
addIndex()Añade un índice a la colección.
Firma
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })Parámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
index | string | string[] | - | Nombre(s) del campo a indexar. |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | Configuración completa. |
Ejemplo
removeIndex()Elimina un índice de la colección.
Firma
removeIndex(fields: string[])Parámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
fields | string[] | - | Combinación de nombres de campos para el índice a eliminar. |
Ejemplo
remove()Elimina la colección.
Firma
remove(): voidEjemplo
sync()Sincroniza la definición de la colección con la base de datos. Además de la lógica predeterminada de Model.sync en Sequelize, también procesa las colecciones correspondientes a los campos de asociación.
Firma
sync(): Promise<void>Ejemplo
existsInDb()Comprueba si la colección existe en la base de datos.
Firma
existsInDb(options?: Transactionable): Promise<boolean>Parámetros
| Parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
options?.transaction | Transaction | - | Instancia de transacción |
Ejemplo
removeFromDb()Firma
removeFromDb(): Promise<void>Ejemplo