Esta documentação foi traduzida automaticamente por IA.
A coleção é usada para definir modelos de dados no sistema, como nomes de modelos, campos, índices, associações e outras informações. Geralmente, ela é chamada através do método collection de uma instância de Database como um ponto de entrada proxy.
Para mais tipos de campos, consulte Campos.
Assinatura
constructor(options: CollectionOptions, context: CollectionContext)Parâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
options.name | string | - | Identificador da coleção |
options.tableName? | string | - | Nome da tabela no banco de dados. Se não for fornecido, o valor de options.name será usado. |
options.fields? | FieldOptions[] | - | Definições de campo. Veja Campo para mais detalhes. |
options.model? | string | ModelStatic<Model> | - | Tipo de Model do Sequelize. Se uma string for usada, o nome do modelo deve ter sido registrado previamente no db. |
options.repository? | string | RepositoryType | - | Tipo de repositório. Se uma string for usada, o tipo de repositório deve ter sido registrado previamente no db. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | Configuração de campo ordenável. Não é ordenável por padrão. |
options.autoGenId? | boolean | true | Se deve gerar automaticamente uma chave primária única. O padrão é true. |
context.database | Database | - | O banco de dados no contexto atual. |
Exemplo
Crie uma coleção de posts:
optionsParâmetros de configuração inicial para a coleção. Idêntico ao parâmetro options do construtor.
contextO contexto ao qual a coleção atual pertence, atualmente sendo principalmente a instância do banco de dados.
nameNome da coleção.
dbA instância do banco de dados à qual pertence.
filterTargetKeyO nome do campo usado como chave primária.
isThroughSe é uma coleção intermediária.
modelCorresponde ao tipo de Model do Sequelize.
repositoryInstância do repositório.
getField()Obtém o objeto de campo com o nome correspondente definido na coleção.
Assinatura
getField(name: string): FieldParâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
name | string | - | Nome do campo |
Exemplo
setField()Define um campo para a coleção.
Assinatura
setField(name: string, options: FieldOptions): FieldParâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
name | string | - | Nome do campo |
options | FieldOptions | - | Configuração do campo. Veja Campo para mais detalhes. |
Exemplo
setFields()Define múltiplos campos para a coleção em lote.
Assinatura
setFields(fields: FieldOptions[], resetFields = true): Field[]Parâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
fields | FieldOptions[] | - | Configuração do campo. Veja Campo para mais detalhes. |
resetFields | boolean | true | Se deve redefinir os campos existentes. |
Exemplo
removeField()Remove o objeto de campo com o nome correspondente definido na coleção.
Assinatura
removeField(name: string): void | FieldParâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
name | string | - | Nome do campo |
Exemplo
resetFields()Redefine (limpa) os campos da coleção.
Assinatura
resetFields(): voidExemplo
hasField()Verifica se um objeto de campo com o nome correspondente está definido na coleção.
Assinatura
hasField(name: string): booleanParâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
name | string | - | Nome do campo |
Exemplo
findField()Encontra um objeto de campo na coleção que atende aos critérios.
Assinatura
findField(predicate: (field: Field) => boolean): Field | undefinedParâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
predicate | (field: Field) => boolean | - | Critério de busca |
Exemplo
forEachField()Itera sobre os objetos de campo na coleção.
Assinatura
forEachField(callback: (field: Field) => void): voidParâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
callback | (field: Field) => void | - | Função de callback |
Exemplo
addIndex()Adiciona um índice à coleção.
Assinatura
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })Parâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
index | string | string[] | - | Nome(s) do(s) campo(s) a ser(em) indexado(s). |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | Configuração completa. |
Exemplo
removeIndex()Remove um índice da coleção.
Assinatura
removeIndex(fields: string[])Parâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
fields | string[] | - | Combinação de nomes de campos para o índice a ser removido. |
Exemplo
remove()Exclui a coleção.
Assinatura
remove(): voidExemplo
sync()Sincroniza a definição da coleção com o banco de dados. Além da lógica padrão de Model.sync no Sequelize, ele também processa as coleções correspondentes aos campos de associação.
Assinatura
sync(): Promise<void>Exemplo
existsInDb()Verifica se a coleção existe no banco de dados.
Assinatura
existsInDb(options?: Transactionable): Promise<boolean>Parâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
options?.transaction | Transaction | - | Instância de transação |
Exemplo
removeFromDb()Assinatura
removeFromDb(): Promise<void>Exemplo