Diese Dokumentation wurde automatisch von KI übersetzt.
Auf einem gegebenen Sammlung-Objekt können Sie dessen Repository-Objekt abrufen, um Lese- und Schreiboperationen auf der Datentabelle durchzuführen.
Auf dem Repository-Objekt können Sie find*-Methoden aufrufen, um Abfragen durchzuführen. Alle Abfragemethoden unterstützen die Übergabe eines filter-Parameters zur Datenfilterung.
Der filter-Parameter im Repository bietet zudem eine Vielzahl von Operatoren, um vielfältigere Abfragen durchzuführen.
Weitere Details zu Operatoren finden Sie unter Filter Operators.
Bei Abfragen können Sie die Ausgabefelder über die Parameter fields, except und appends steuern.
fields: Gibt die Ausgabefelder anexcept: Schließt Ausgabefelder ausappends: Fügt verknüpfte Felder zur Ausgabe hinzuDer filter-Parameter unterstützt das Filtern nach Verknüpfungsfeldern, zum Beispiel:
Verknüpfungsfelder können auch verschachtelt werden.
Mit dem sort-Parameter können Sie die Abfrageergebnisse sortieren.
Sie können auch nach Feldern von verknüpften Objekten sortieren.
Erstellen Sie neue Datenobjekte über das Repository.
Beim Erstellen können Sie gleichzeitig verknüpfte Objekte anlegen. Ähnlich wie bei Abfragen wird auch die verschachtelte Verwendung von verknüpften Objekten unterstützt, zum Beispiel:
Wenn das verknüpfte Objekt bereits in der Datenbank existiert, können Sie dessen ID übergeben, um beim Erstellen eine Verknüpfung zu diesem Objekt herzustellen.
Nachdem Sie ein Datenobjekt abgerufen haben, können Sie dessen Eigenschaften direkt auf dem Datenobjekt (Model) ändern und dann die save-Methode aufrufen, um die Änderungen zu speichern.
Das Datenobjekt Model erbt vom Sequelize Model. Für Operationen auf dem Model lesen Sie bitte die Sequelize Model Dokumentation.
Sie können Daten auch über das Repository aktualisieren:
Beim Aktualisieren können Sie die zu aktualisierenden Felder mit den Parametern whitelist und blacklist steuern, zum Beispiel:
Beim Aktualisieren können Sie verknüpfte Objekte festlegen, zum Beispiel:
Sie können die destroy()-Methode im Repository aufrufen, um einen Löschvorgang durchzuführen. Beim Löschen müssen Sie Filterkriterien angeben:
Dieser wird normalerweise nicht direkt von Entwicklern aufgerufen. Die Instanziierung erfolgt hauptsächlich, nachdem der Typ über db.registerRepositories() registriert und der entsprechende registrierte Repository-Typ in den Parametern von db.collection() angegeben wurde.
Signatur
constructor(collection: Collection)Beispiel
databaseDie Datenbankverwaltungsinstanz des Kontexts.
collectionDie entsprechende Sammlung-Verwaltungsinstanz.
modelDie entsprechende Model-Klasse.
find()Fragt einen Datensatz aus der Datenbank ab, wobei Filterbedingungen, Sortierung usw. angegeben werden können.
Signatur
async find(options?: FindOptions): Promise<Model[]>Typ
Details
filter: FilterAbfragebedingung zur Filterung von Datenergebnissen. In den übergebenen Abfrageparametern ist key der Name des abzufragenden Feldes, und value kann der abzufragende Wert sein oder in Kombination mit Operatoren für andere bedingte Datenfilterungen verwendet werden.
Weitere Operatoren finden Sie unter Abfrageoperatoren.
filterByTk: TargetKeyFragt Daten über TargetKey ab, eine praktische Methode für den filter-Parameter. Welches Feld der TargetKey genau ist, kann in der Sammlung konfiguriert werden; standardmäßig ist dies der primaryKey.
fields: string[]Abfragespalten, zur Steuerung der Datenfeldergebnisse. Nach Übergabe dieses Parameters werden nur die angegebenen Felder zurückgegeben.
except: string[]Ausgeschlossene Spalten, zur Steuerung der Datenfeldergebnisse. Nach Übergabe dieses Parameters werden die übergebenen Felder nicht ausgegeben.
appends: string[]Angehängte Spalten, zum Laden verknüpfter Daten. Nach Übergabe dieses Parameters werden die angegebenen Verknüpfungsfelder ebenfalls ausgegeben.
sort: string[] | stringGibt die Sortiermethode für die Abfrageergebnisse an. Der Parameter ist der Feldname, der standardmäßig in aufsteigender Reihenfolge (asc) sortiert wird. Für absteigende Reihenfolge (desc) fügen Sie ein --Symbol vor dem Feldnamen hinzu, z.B.: ['-id', 'name'], was einer Sortierung nach id desc, name asc entspricht.
limit: numberBegrenzt die Anzahl der Ergebnisse, wie limit in SQL.
offset: numberAbfrage-Offset, wie offset in SQL.
Beispiel
findOne()Fragt einen einzelnen Datensatz aus der Datenbank ab, der spezifischen Kriterien entspricht. Entspricht Model.findOne() in Sequelize.
Signatur
async findOne(options?: FindOneOptions): Promise<Model | null>Beispiel
count()Fragt die Gesamtzahl der Datensätze ab, die spezifischen Kriterien in der Datenbank entsprechen. Entspricht Model.count() in Sequelize.
Signatur
count(options?: CountOptions): Promise<number>Typ
Beispiel
findAndCount()Fragt einen Datensatz und die Gesamtzahl der Ergebnisse ab, die spezifischen Kriterien in der Datenbank entsprechen. Entspricht Model.findAndCountAll() in Sequelize.
Signatur
async findAndCount(options?: FindAndCountOptions): Promise<[Model[], number]>Typ
Details
Die Abfrageparameter sind dieselben wie bei find(). Der Rückgabewert ist ein Array, dessen erstes Element das Abfrageergebnis und dessen zweites Element die Gesamtzahl der Ergebnisse ist.
create()Fügt einen neuen Datensatz in die Sammlung ein. Entspricht Model.create() in Sequelize. Wenn das zu erstellende Datenobjekt Informationen zu Verknüpfungsfeldern enthält, werden die entsprechenden Verknüpfungsdatensätze ebenfalls erstellt oder aktualisiert.
Signatur
async create<M extends Model>(options: CreateOptions): Promise<M>Beispiel
createMany()Fügt mehrere neue Datensätze in die Sammlung ein. Entspricht dem mehrfachen Aufruf der create()-Methode.
Signatur
createMany(options: CreateManyOptions): Promise<Model[]>Typ
Details
records: Ein Array von Datenobjekten für die zu erstellenden Datensätze.transaction: Transaktionsobjekt. Wenn kein Transaktionsparameter übergeben wird, erstellt diese Methode automatisch eine interne Transaktion.Beispiel
update()Aktualisiert Daten in der Sammlung. Entspricht Model.update() in Sequelize. Wenn das zu aktualisierende Datenobjekt Informationen zu Verknüpfungsfeldern enthält, werden die entsprechenden Verknüpfungsdatensätze ebenfalls erstellt oder aktualisiert.
Signatur
async update<M extends Model>(options: UpdateOptions): Promise<M>Beispiel
destroy()Löscht Daten aus der Sammlung. Entspricht Model.destroy() in Sequelize.
Signatur
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<number>Typ
Details
filter: Gibt die Filterbedingungen für die zu löschenden Datensätze an. Eine detaillierte Verwendung von Filter finden Sie in der find()-Methode.filterByTk: Gibt die Filterbedingungen für die zu löschenden Datensätze nach TargetKey an.truncate: Gibt an, ob die Sammlung-Daten geleert werden sollen. Dies ist wirksam, wenn keine filter- oder filterByTk-Parameter übergeben werden.transaction: Transaktionsobjekt. Wenn kein Transaktionsparameter übergeben wird, erstellt diese Methode automatisch eine interne Transaktion.