Questa documentazione è stata tradotta automaticamente dall'IA.
Su un dato oggetto collezione, può ottenere il suo oggetto Repository per eseguire operazioni di lettura e scrittura sulla tabella dei dati.
Sull'oggetto Repository, chiami i metodi correlati find* per eseguire operazioni di query. Tutti i metodi di query supportano il passaggio di un parametro filter per filtrare i dati.
Il parametro filter nel Repository offre anche una varietà di operatori per eseguire operazioni di query più diverse.
Per maggiori dettagli sugli operatori, consulti Operatori di filtro.
Quando esegue un'operazione di query, può controllare i campi di output tramite i parametri fields, except e appends.
fields: Specifica i campi di outputexcept: Esclude i campi di outputappends: Aggiunge campi associati all'outputIl parametro filter supporta il filtraggio per campi di associazione, ad esempio:
I campi di associazione possono anche essere annidati.
Può ordinare i risultati della query utilizzando il parametro sort.
Può anche ordinare per i campi degli oggetti associati.
Creare nuovi oggetti dati tramite il Repository.
Durante la creazione, può anche creare oggetti associati contemporaneamente. Similmente alle query, è supportato anche l'uso annidato di oggetti associati, ad esempio:
Se l'oggetto associato esiste già nel database, può passare il suo ID per stabilire un'associazione con esso durante la creazione.
Dopo aver ottenuto un oggetto dati, può modificarne direttamente le proprietà sull'oggetto dati (Model) e quindi chiamare il metodo save per salvare le modifiche.
L'oggetto dati Model eredita dal Model di Sequelize. Per le operazioni sul Model, consulti Sequelize Model.
Può anche aggiornare i dati tramite il Repository:
Durante l'aggiornamento, può controllare quali campi vengono aggiornati utilizzando i parametri whitelist e blacklist, ad esempio:
Durante l'aggiornamento, può impostare oggetti associati, ad esempio:
Può chiamare il metodo destroy() nel Repository per eseguire un'operazione di eliminazione. Deve specificare i criteri di filtro durante l'eliminazione:
Normalmente non viene chiamato direttamente dagli sviluppatori. Viene principalmente istanziato dopo aver registrato il tipo tramite db.registerRepositories() e specificando il tipo di repository registrato corrispondente nei parametri di db.collection().
Firma
constructor(collection: Collection)Esempio
databaseL'istanza di gestione del database del contesto.
collectionL'istanza di gestione della collezione corrispondente.
modelLa classe del modello corrispondente.
find()Esegue una query su un set di dati dal database, consentendo la specifica di condizioni di filtro, ordinamento, ecc.
Firma
async find(options?: FindOptions): Promise<Model[]>Tipo
Dettagli
filter: FilterCondizione di query utilizzata per filtrare i risultati dei dati. Nei parametri di query passati, la key è il nome del campo da interrogare e il value può essere il valore da interrogare o utilizzato con operatori per altri filtri condizionali sui dati.
Per maggiori operatori, consulti Operatori di query.
filterByTk: TargetKeyEsegue una query sui dati tramite TargetKey, che è un metodo conveniente per il parametro filter. Il campo specifico per TargetKey può essere configurato nella collezione, con primaryKey come valore predefinito.
fields: string[]Colonne di query, utilizzate per controllare i risultati dei campi dati. Dopo aver passato questo parametro, verranno restituiti solo i campi specificati.
except: string[]Colonne escluse, utilizzate per controllare i risultati dei campi dati. Dopo aver passato questo parametro, i campi passati non verranno inclusi nell'output.
appends: string[]Colonne aggiunte, utilizzate per caricare dati associati. Dopo aver passato questo parametro, verranno inclusi nell'output anche i campi di associazione specificati.
sort: string[] | stringSpecifica il metodo di ordinamento per i risultati della query. Il parametro è il nome del campo, che per impostazione predefinita è l'ordine crescente asc. Per l'ordine decrescente desc, aggiunga un simbolo - prima del nome del campo, ad esempio ['-id', 'name'], che significa ordinare per id desc, name asc.
limit: numberLimita il numero di risultati, come limit in SQL.
offset: numberOffset della query, come offset in SQL.
Esempio
findOne()Esegue una query su un singolo dato dal database che soddisfa criteri specifici. Equivalente a Model.findOne() di Sequelize.
Firma
async findOne(options?: FindOneOptions): Promise<Model | null>Esempio
count()Esegue una query sul numero totale di voci di dati che soddisfano criteri specifici dal database. Equivalente a Model.count() di Sequelize.
Firma
count(options?: CountOptions): Promise<number>Tipo
Esempio
findAndCount()Esegue una query su un set di dati e sul numero totale di risultati che soddisfano criteri specifici dal database. Equivalente a Model.findAndCountAll() di Sequelize.
Firma
async findAndCount(options?: FindAndCountOptions): Promise<[Model[], number]>Tipo
Dettagli
I parametri di query sono gli stessi di find(). Il valore restituito è un array in cui il primo elemento è il risultato della query e il secondo elemento è il conteggio totale.
create()Inserisce un nuovo record nella collezione. Equivalente a Model.create() di Sequelize. Quando l'oggetto dati da creare contiene informazioni sui campi di relazione, i record di dati di relazione corrispondenti verranno creati o aggiornati.
Firma
async create<M extends Model>(options: CreateOptions): Promise<M>Esempio
createMany()Inserisce più nuovi record nella collezione. Equivalente a chiamare il metodo create() più volte.
Firma
createMany(options: CreateManyOptions): Promise<Model[]>Tipo
Dettagli
records: Un array di oggetti dati per i record da creare.transaction: Oggetto transazione. Se non viene passato alcun parametro di transazione, il metodo creerà automaticamente una transazione interna.Esempio
update()Aggiorna i dati nella collezione. Equivalente a Model.update() di Sequelize. Quando l'oggetto dati da aggiornare contiene informazioni sui campi di relazione, i record di dati di relazione corrispondenti verranno creati o aggiornati.
Firma
async update<M extends Model>(options: UpdateOptions): Promise<M>Esempio
destroy()Elimina i dati dalla collezione. Equivalente a Model.destroy() di Sequelize.
Firma
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<number>Tipo
Dettagli
filter: Specifica le condizioni di filtro per i record da eliminare. Per l'uso dettagliato di Filter, consulti il metodo find().filterByTk: Specifica le condizioni di filtro per i record da eliminare tramite TargetKey.truncate: Indica se troncare i dati della collezione, efficace quando non viene passato alcun parametro filter o filterByTk.transaction: Oggetto transazione. Se non viene passato alcun parametro di transazione, il metodo creerà automaticamente una transazione interna.