Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen
På ett givet samling-objekt kan ni hämta dess Repository-objekt för att utföra läs- och skrivoperationer på samlingen.
På Repository-objektet kan ni anropa find*-relaterade metoder för att utföra frågor. Alla frågemetoder stöder att ni skickar in en filter-parameter för att filtrera data.
filter-parametern i Repository erbjuder också en mängd olika operatorer för att utföra mer varierade frågor.
För mer information om operatorer, se Filter Operators.
När ni utför en fråga kan ni styra vilka fält som ska visas genom parametrarna fields, except och appends.
fields: Anger vilka fält som ska visasexcept: Exkluderar fält från att visasappends: Lägger till relaterade fält i utdatafilter-parametern stöder filtrering baserat på relaterade fält, till exempel:
Relaterade fält kan också kapslas.
Ni kan sortera frågeresultaten med hjälp av sort-parametern.
Ni kan också sortera efter fält i relaterade objekt.
Skapa nya dataobjekt via Repository.
När ni skapar kan ni samtidigt skapa relaterade objekt. Liksom vid frågor stöds även kapslad användning av relaterade objekt, till exempel:
Om det relaterade objektet redan finns i databasen kan ni skicka in dess ID. Då upprättas en relation med det befintliga objektet vid skapandet.
När ni har hämtat ett dataobjekt kan ni direkt ändra dess egenskaper på dataobjektet (Model) och sedan anropa save-metoden för att spara ändringarna.
Dataobjektet Model ärver från Sequelize Model. För operationer på Model, se Sequelize Model.
Ni kan också uppdatera data via Repository:
Vid uppdatering kan ni styra vilka fält som ska uppdateras med parametrarna whitelist och blacklist, till exempel:
Vid uppdatering kan ni ställa in relaterade objekt, till exempel:
Ni kan anropa destroy()-metoden i Repository för att utföra en borttagningsoperation. Vid borttagning måste ni ange filterkriterier:
Den anropas vanligtvis inte direkt av utvecklare. Istället instansieras den främst efter att typen har registrerats via db.registerRepositories() och den motsvarande registrerade repository-typen har specificerats i parametrarna för db.collection().
Signatur
constructor(collection: samling)Exempel
databaseDatabasadministrationsinstansen för kontexten.
collectionDen motsvarande samlingsadministrationsinstansen.
modelDen motsvarande modellklassen.
find()Hämtar en datamängd från databasen, där ni kan ange filtervillkor, sortering med mera.
Signatur
async find(options?: FindOptions): Promise<Model[]>Typ
Detaljer
filter: FilterFrågevillkor som används för att filtrera dataresultat. I de skickade frågeparametrarna är key namnet på fältet att fråga, och value kan vara det värde ni vill söka efter, eller användas tillsammans med operatorer för annan villkorlig datafiltrering.
För fler operatorer, se Frågeoperatorer.
filterByTk: TargetKeyFrågar data med TargetKey, vilket är en bekväm metod för filter-parametern. Vilket specifikt fält TargetKey är kan konfigureras i samling, och standardvärdet är primaryKey.
fields: string[]Frågekolumner, används för att styra datafältens resultat. Efter att denna parameter har skickats in kommer endast de angivna fälten att returneras.
except: string[]Exkluderade kolumner, används för att styra datafältens resultat. Efter att denna parameter har skickats in kommer de angivna fälten inte att visas.
appends: string[]Tillagda kolumner, används för att ladda relaterad data. Efter att denna parameter har skickats in kommer de angivna relaterade fälten också att visas.
sort: string[] | stringAnger sorteringsmetoden för frågeresultaten. Parametern är fältnamnet, som standard sorteras i stigande asc ordning. För fallande desc ordning, lägg till ett --tecken före fältnamnet, t.ex. ['-id', 'name'], vilket betyder sortera efter id desc, name asc.
limit: numberBegränsar antalet resultat, samma som limit i SQL.
offset: numberFrågeförskjutning, samma som offset i SQL.
Exempel
findOne()Hämtar en enskild datapost från databasen som uppfyller specifika kriterier. Motsvarar Model.findOne() i Sequelize.
Signatur
async findOne(options?: FindOneOptions): Promise<Model | null>Exempel
count()Hämtar det totala antalet dataposter som uppfyller specifika kriterier från databasen. Motsvarar Model.count() i Sequelize.
Signatur
count(options?: CountOptions): Promise<number>Typ
Exempel
findAndCount()Hämtar en datamängd och det totala antalet resultat som uppfyller specifika kriterier från databasen. Motsvarar Model.findAndCountAll() i Sequelize.
Signatur
async findAndCount(options?: FindAndCountOptions): Promise<[Model[], number]>Typ
Detaljer
Frågeparametrarna är desamma som för find(). Returvärdet är en array där det första elementet är frågeresultatet och det andra elementet är det totala antalet resultat.
create()Infogar en ny datapost i samlingen. Motsvarar Model.create() i Sequelize. När dataobjektet som ska skapas innehåller information om relationsfält, kommer motsvarande relationsdataposter att skapas eller uppdateras samtidigt.
Signatur
async create<M extends Model>(options: CreateOptions): Promise<M>Exempel
createMany()Infogar flera nya dataposter i samlingen. Motsvarar att anropa create()-metoden flera gånger.
Signatur
createMany(options: CreateManyOptions): Promise<Model[]>Typ
Detaljer
records: En array av dataobjekt för de poster som ska skapas.transaction: Transaktionsobjekt. Om ingen transaktionsparameter skickas in, kommer metoden automatiskt att skapa en intern transaktion.Exempel
update()Uppdaterar data i samlingen. Motsvarar Model.update() i Sequelize. När dataobjektet som ska uppdateras innehåller information om relationsfält, kommer motsvarande relationsdataposter att skapas eller uppdateras samtidigt.
Signatur
async update<M extends Model>(options: UpdateOptions): Promise<M>Exempel
destroy()Tar bort data från samlingen. Motsvarar Model.destroy() i Sequelize.
Signatur
async destory(options?: TargetKey | TargetKey[] | DestoryOptions): Promise<number>Typ
Detaljer
filter: Anger filtervillkoren för de poster som ska tas bort. För detaljerad användning av Filter, se find()-metoden.filterByTk: Anger filtervillkoren för de poster som ska tas bort med TargetKey.truncate: Om samlingens data ska tömmas, gäller när ingen filter- eller filterByTk-parameter skickas in.transaction: Transaktionsobjekt. Om ingen transaktionsparameter skickas in, kommer metoden automatiskt att skapa en intern transaktion.