Esta documentação foi traduzida automaticamente por IA.
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.
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.
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.
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.O parâmetro filter permite filtrar por campos de associação, por exemplo:
Campos de associação também podem ser aninhados.
Você pode ordenar os resultados da consulta usando o parâmetro sort.
Você também pode ordenar pelos campos de objetos associados.
Crie novos objetos de dados através do Repository.
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.
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:
Ao atualizar, você pode definir objetos associados, por exemplo:
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:
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
databaseA instância de gerenciamento de banco de dados do contexto.
collectionA instância de gerenciamento de coleção correspondente.
modelA classe de modelo de dados correspondente.
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: FilterCondiçã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: TargetKeyConsulta 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[] | stringEspecifica 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: numberLimita o número de resultados, o mesmo que limit em SQL.
offset: numberDeslocamento 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 de Filter, consulte o método find().filterByTk: Especifica as condições de filtro para os registros a serem excluídos por TargetKey.truncate: Indica se os dados da coleção devem ser truncados, sendo eficaz quando nenhum parâmetro filter ou filterByTk é passado.transaction: Objeto de transação. Se nenhum parâmetro de transação for passado, o método criará automaticamente uma transação interna.