Esta documentação foi traduzida automaticamente por IA.
Repositório
Visão Geral
Em um objeto de coleção específico, você pode obter seu objeto Repository para realizar operações de leitura e escrita na coleção.
Consulta
Consulta Básica
No objeto Repository, você pode chamar os métodos relacionados a find* para realizar operações de consulta. Todos os métodos de consulta aceitam o parâmetro filter para filtrar os dados.
Operadores
O parâmetro filter no Repository também oferece uma variedade de operadores para realizar operações de consulta mais diversas.
Para mais detalhes sobre os operadores, consulte Operadores de Filtro.
Controle de Campos
Ao realizar uma operação de consulta, você pode controlar os campos de saída usando os parâmetros fields, except e appends.
fields: Especifica os campos a serem incluídos na saída.except: Exclui campos da saída.appends: Adiciona campos associados à saída.
Consultando Campos de Associação
O parâmetro filter permite filtrar por campos de associação, por exemplo:
Campos de associação também podem ser aninhados.
Ordenação
Você pode ordenar os resultados da consulta usando o parâmetro sort.
Você também pode ordenar pelos campos de objetos associados.
Criação
Criação Básica
Crie novos objetos de dados através do Repository.
Criando Associações
Ao criar, você também pode criar objetos associados simultaneamente. Assim como nas consultas, o uso aninhado de objetos associados também é suportado, por exemplo:
Se o objeto associado já existir no banco de dados, você pode passar seu ID para estabelecer uma associação com ele durante a criação.
Atualização
Atualização Básica
Após obter um objeto de dados, você pode modificar suas propriedades diretamente no objeto de dados (Model) e, em seguida, chamar o método save para salvar as alterações.
O objeto de dados Model herda do Sequelize Model. Para operações no Model, consulte Sequelize Model.
Você também pode atualizar dados através do Repository:
Ao atualizar, você pode controlar quais campos são atualizados usando os parâmetros whitelist e blacklist, por exemplo:
Atualizando Campos de Associação
Ao atualizar, você pode definir objetos associados, por exemplo:
Exclusão
Você pode chamar o método destroy() no Repository para realizar uma operação de exclusão. Ao excluir, você precisa especificar os critérios de filtro:
Construtor
Normalmente, não é chamado diretamente pelos desenvolvedores. Ele é principalmente instanciado após registrar o tipo através de db.registerRepositories() e especificar o tipo de repositório registrado correspondente nos parâmetros de db.collection().
Assinatura
constructor(collection: coleção)
Exemplo
Membros da Instância
database
A instância de gerenciamento de banco de dados do contexto.
collection
A instância de gerenciamento de coleção correspondente.
model
A classe de modelo de dados correspondente.
Métodos de Instância
find()
Consulta um conjunto de dados no banco de dados, permitindo especificar condições de filtro, ordenação, etc.
Assinatura
async find(options?: FindOptions): Promise<Model[]>
Tipo
Detalhes
filter: Filter
Condição de consulta, usada para filtrar os resultados dos dados. Nos parâmetros de consulta passados, key é o nome do campo a ser consultado, e value pode ser o valor a ser consultado ou usado em conjunto com operadores para outras filtragens condicionais de dados.
Para mais operadores, consulte Operadores de Consulta.
filterByTk: TargetKey
Consulta dados por TargetKey, que é um método conveniente para o parâmetro filter. O campo específico para TargetKey pode ser configurado na coleção, com padrão para primaryKey.
fields: string[]
Colunas de consulta, usadas para controlar os resultados dos campos de dados. Após passar este parâmetro, apenas os campos especificados serão retornados.
except: string[]
Colunas excluídas, usadas para controlar os resultados dos campos de dados. Após passar este parâmetro, os campos passados não serão exibidos.
appends: string[]
Colunas anexadas, usadas para carregar dados associados. Após passar este parâmetro, os campos de associação especificados também serão exibidos.
sort: string[] | string
Especifica o método de ordenação para os resultados da consulta. O parâmetro é o nome do campo, que por padrão é ordenado em ordem crescente (asc). Para ordem decrescente (desc), adicione um símbolo - antes do nome do campo, por exemplo: ['-id', 'name'], o que significa ordenar por id desc, name asc.
limit: number
Limita o número de resultados, o mesmo que limit em SQL.
offset: number
Deslocamento da consulta, o mesmo que offset em SQL.
Exemplo
findOne()
Consulta um único dado do banco de dados que atenda a critérios específicos. Equivalente a Model.findOne() no Sequelize.
Assinatura
async findOne(options?: FindOneOptions): Promise<Model | null>
Exemplo
count()
Consulta o número total de entradas de dados que atendem a critérios específicos no banco de dados. Equivalente a Model.count() no Sequelize.
Assinatura
count(options?: CountOptions): Promise<number>
Tipo
Exemplo
findAndCount()
Consulta um conjunto de dados e o número total de resultados que atendem a critérios específicos no banco de dados. Equivalente a Model.findAndCountAll() no Sequelize.
Assinatura
async findAndCount(options?: FindAndCountOptions): Promise<[Model[], number]>
Tipo
Detalhes
Os parâmetros de consulta são os mesmos de find(). O valor de retorno é um array onde o primeiro elemento é o resultado da consulta e o segundo elemento é a contagem total.
create()
Insere um novo registro na coleção. Equivalente a Model.create() no Sequelize. Quando o objeto de dados a ser criado contém informações sobre campos de relacionamento, os registros de dados de relacionamento correspondentes serão criados ou atualizados.
Assinatura
async create<M extends Model>(options: CreateOptions): Promise<M>
Exemplo
createMany()
Insere múltiplos novos registros na coleção. Equivalente a chamar o método create() várias vezes.
Assinatura
createMany(options: CreateManyOptions): Promise<Model[]>
Tipo
Detalhes
records: Um array de objetos de dados para os registros a serem criados.transaction: Objeto de transação. Se nenhum parâmetro de transação for passado, o método criará automaticamente uma transação interna.
Exemplo
update()
Atualiza dados na coleção. Equivalente a Model.update() no Sequelize. Quando o objeto de dados a ser atualizado contém informações sobre campos de relacionamento, os registros de dados de relacionamento correspondentes serão criados ou atualizados.
Assinatura
async update<M extends Model>(options: UpdateOptions): Promise<M>
Exemplo
destroy()
Exclui dados da coleção. Equivalente a Model.destroy() no Sequelize.
Assinatura
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<number>
Tipo
Detalhes
filter: Especifica as condições de filtro para os registros a serem excluídos. Para uso detalhado deFilter, consulte o métodofind().filterByTk: Especifica as condições de filtro para os registros a serem excluídos porTargetKey.truncate: Indica se os dados dacoleçãodevem ser truncados, sendo eficaz quando nenhum parâmetrofilteroufilterByTké passado.transaction: Objeto de transação. Se nenhum parâmetro de transação for passado, o método criará automaticamente uma transação interna.

