Aurabase-Logo
AurabasisDokumente
Dokumente›JavaScript SDK reference›Database reference

JavaScript SDK: Datenbankreferenz

Jede Methode von aura.db und des verkettbaren Abfrage-Builders mit ihrer Signatur.

6 Min. gelesen·Ebene Referenz·Überarbeitet am 12.10.2026
Dieser englische Text wurde automatisch aus dem französischen Original generiert und wurde noch nicht überprüft.
Diese Seite wurde automatisch übersetzt. Maßgeblich ist die englische Version.
#
Klasse

Datenbankservice

MethodeBeschreibung
from<TableName extends string & keyof Schema['Tables'], Table extends Schema['Tables'][TableName]>(table: TableName): AuraQueryBuilder<Schema, Table, TableName, AuraClientOptionsT>
from<ViewName extends string & keyof Schema['Views'], View extends Schema['Views'][ViewName]>(view: ViewName): AuraQueryBuilder<Schema, View, ViewName, AuraClientOptionsT>
from(table: string): AuraQueryBuilder<any, any, any, AuraClientOptionsT>
Starten Sie eine Abfrage für eine Tabelle.
sql<T = unknown>(query: string, params?: unknown[], options?: RawSqlOptions): Promise<AuraResponse<T>>Führt eine unformatierte SQL-Abfrage aus (POST /v1/db/raw).
rpc<FnName extends string, Args extends RpcArgsFor<Schema, FnName> = RpcArgsFor<Schema, FnName>, Fn extends { Row: Record<string, unknown>; Result: unknown; RelationName: unknown; Relationships: unknown; } = RpcResultFor<Schema, FnName, Args>>(fn: FnName, args?: Args, options?: RpcOptions): AuraFilterBuilder<Schema, Fn['Row'], Fn['RelationName'], Fn['Relationships'], Fn['Result'], AuraClientOptionsT>Ruft eine Funktion Postgres auf, die von PostgREST (POST|GET|HEAD /rpc/{fn}) bereitgestellt wird.
schema(): Promise<AuraResponse<{ tables: SchemaTable[]; functions: SchemaFunction[]; enums: SchemaEnum[]; views: SchemaTable[]; }>>Rufen Sie das Schema (Tabellen und Spalten, über PostgREST verfügbar gemachte Postgres-Funktionen, Aufzählungstypen und Ansichten) für das aktuelle Projekt ab.
listFunctions(): Promise<AuraResponse<PgFunctionInfo[]>>Listet die Funktionen des Projektschemas (GET /v1/db/functions) auf.
createFunction(definition: CreatePgFunctionRequest): Promise<AuraResponse<null>>Erstellt oder ersetzt eine Postgres (POST /v1/db/functions)-Funktion. Erfordert einen service_role-Schlüssel. Nur PostgreSQL Projekte.
dropFunction(name: string): Promise<AuraResponse<null>>Entfernt eine Funktion aus dem Projektschema (DELETE /v1/db/functions/{name}). Erfordert einen service_role-Schlüssel.
listTriggers(table: PgRelationName<Schema>): Promise<AuraResponse<PgTriggerInfo[]>>Listet die Trigger einer Tabelle auf (GET /v1/db/{table}/triggers).
createTrigger(table: PgRelationName<Schema>, definition: CreatePgTriggerRequest): Promise<AuraResponse<null>>Erstellt einen Trigger für eine Tabelle (POST /v1/db/{table}/triggers). Erfordert einen service_role-Schlüssel. Nur PostgreSQL Projekte.
dropTrigger(table: PgRelationName<Schema>, name: string): Promise<AuraResponse<null>>Entfernt einen Trigger aus einer Tabelle (DELETE /v1/db/{table}/triggers/{name}). Erfordert service_role.
#
Klasse

AuraQueryBuilder

Verkettbarer Abfrage-Generator, der URL-Abfrageparameter kompiliert, die dem QueryOptions/FilterOp-Format des Backends entsprechen.

MethodeBeschreibung
insert(body: Relation extends { Insert: infer I; } ? I | I[] : never): thisFügt eine Zeile oder ein Array von Zeilen ein.
update(id: string, body: Relation extends { Update: infer U; } ? U : never): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false>
update(body: Relation extends { Update: infer U; } ? U : never): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false>
Aktualisiert Zeilen: update(body), auf die Filter abzielen, oder update(id, body) für eine Zeile pro Kennung.
delete(id?: string): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false>Löscht Zeilen: gezielt durch Filter oder eine Zeile nach Kennung mit delete(id).
upsert(body: Relation extends { Insert: infer I; } ? I | I[] : never, options?: { onConflict?: string; }): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false>Fügt eine Zeile oder ein Array von Zeilen ein oder aktualisiert (Upsert). options.onConflict benennt die Konfliktspalte (standardmäßig id).
#
Klasse

AuraFilterBuilder

Alle PostgREST-Filter (eq, neq, ... ilikeAnyOf).

MethodeBeschreibung
eq<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltert Zeilen, in denen column gleich value ist.
neq<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltert Zeilen, in denen column sich von value unterscheidet.
gt<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltert Zeilen, in denen column unbedingt größer als value ist.
gte<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltert Zeilen, in denen column größer oder gleich value ist.
lt<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltert Zeilen, in denen column strikt kleiner als value ist.
lte<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltert Zeilen, in denen column kleiner oder gleich value ist.
like(column: keyof Row & string, pattern: string): thisFiltern Sie nach Muster LIKE, Groß- und Kleinschreibung beachten (% ersetzt eine Zeichenfolge).
ilike(column: keyof Row & string, pattern: string): thisFiltern Sie nach Muster ILIKE, Groß- und Kleinschreibung wird nicht beachtet.
is(column: keyof Row & string, value: 'null' | 'true' | 'false' | 'unknown' | 'not.null'): thisIS NULL- oder IS NOT NULL-Filter.
in<C extends keyof Row & string>(column: C, values: Row[C][]): thisFiltert Zeilen, deren column einer von values ist.
or(filters: Array<{ column: string; op: string; value: unknown; }>): thisFügen Sie eine ODER-Gruppe hinzu: or=(col1.eq.val1,col2.gt.val2)
notIn<C extends keyof Row & string>(column: C, values: Row[C][]): thisFiltert Zeilen, in denen column nicht gleich values ist.
contains(column: keyof Row & string, value: unknown): thisFiltert Zeilen, deren Spalte (Tabelle, JSON oder Bereich) value (Operator @>) enthält.
containedBy(column: keyof Row & string, value: unknown): thisFiltert Zeilen, deren Spalte (Array, JSON oder Bereich) in value (Operator <@) enthalten ist.
overlaps(column: keyof Row & string, value: unknown): thisFiltert Zeilen, deren Spalte (Array oder Bereich) mindestens ein Element mit value (Operator &&) gemeinsam hat.
rangeGt(column: keyof Row & string, range: string): thisIntervall: Filtert die Bereiche, die sich streng rechts von range (Operator >>) befinden.
rangeGte(column: keyof Row & string, range: string): thisBereich: Filtert Bereiche, die sich nicht über die linke Seite von range (Operator &>) erstrecken.
rangeLt(column: keyof Row & string, range: string): thisIntervall: Filtert Bereiche, die sich streng links von range (Operator <<) befinden.
rangeLte(column: keyof Row & string, range: string): thisBereich: Filtert Bereiche, die nicht rechts von range (Operator &<) reichen.
rangeAdjacent(column: keyof Row & string, range: string): thisBereich: Filtert Bereiche neben range (Operator -|-).
isDistinct(column: keyof Row & string, value: unknown): thisFiltert Zeilen, in denen sich column von value unterscheidet, und behandelt NULL als Wert (IS DISTINCT FROM).
not(column: string, op: string, value: unknown): thisNegiert einen Filter: not('status', 'eq', 'done') entspricht status und unterscheidet sich von done.
filter(column: string, op: string, value: unknown): thisFügt einen Filter mit einem rohen PostgREST-Operator (eq, gt, cs…) für Fälle hinzu, die nicht durch eine dedizierte Methode abgedeckt werden.
match(query: Record<string, unknown>): thisNach Gleichheit in mehreren Spalten gleichzeitig filtern: match({ a: 1, b: 2 }).
textSearch(column: keyof Row & string, query: string, options?: { type?: 'plain' | 'phrase' | 'websearch'; config?: string; }): thisVolltextsuche. options.type wählt die Abfrage: 'plain', 'phrase' oder 'websearch' (ansonsten native tsquery-Syntax); options.config legt die Sprachkonfiguration fest.
likeAllOf(column: keyof Row & string, patterns: string[]): thisFilter LIKE: Die Spalte muss ALLEN Mustern entsprechen.
likeAnyOf(column: keyof Row & string, patterns: string[]): thisFilter LIKE: Die Spalte muss MINDESTENS EINEM der Muster entsprechen.
ilikeAllOf(column: keyof Row & string, patterns: string[]): thisFilter ILIKE (Groß- und Kleinschreibung wird nicht beachtet): Die Spalte muss ALLEN Mustern entsprechen.
ilikeAnyOf(column: keyof Row & string, patterns: string[]): thisFilter ILIKE (Groß- und Kleinschreibung wird nicht beachtet): Die Spalte muss MINDESTENS EINEM der Muster entsprechen.
#
Klasse

AuraTransformBuilder

Spaltenauswahl-, Sortier-, Paginierungs- und Kardinalitätsmodifikatoren (single/maybeSingle/count).

MethodeBeschreibung
select<Query extends string = '*', NewResultOne = GetResult<Schema, Row, RelationName, Relationships, Query, ClientOptions>>(columns?: Query, options?: SelectOptions): AuraFilterBuilder<Schema, Row, RelationName, Relationships, NewResultOne[], ClientOptions, ThrowOnError>Wählen Sie Spalten aus und betten Sie optional zugehörige Ressourcen ein (PostgREST Parität).
order(column: string, directionOrOptions?: 'asc' | 'desc' | OrderOptions): thisSortieren Sie nach einer Spalte.
limit(n: number): thisBegrenzt die Anzahl der zurückgegebenen Zeilen.
offset(n: number): thisIgnoriert die ersten n-Zeilen (Shift-Paging).
range(from: number, to: number): thisSeiten nach Indexintervall [von, bis] (einschließlich, Basis 0).
cursor(cursor: string): thisKeyset-Paginierung: Übergeben Sie den undurchsichtigen next_cursor der vorherigen Seite (vorzugsweise offset bei großen Tabellen: stabil, ohne Dup/Skip).
count(mode?: CountMode): thisFordert die Gesamtzahl der übereinstimmenden Zeilen an (Standard 'exact' oder 'estimated'), zurückgegeben in count.
single<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne, ThrowOnError>Wartet auf genau eine Zeile und gibt das Objekt selbst zurück; 0 oder mehrere Zeilen führen zum Fehler PGRST116.
maybeSingle<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne | null, ThrowOnError>Wie single(), aber 0 Zeilen sind kein Fehler: data ist dann null.
#
Klasse

AuraPostgrestBuilder

Basisklasse: gemeinsamer Zustand, Konstruktor, HTTP-Ausführung (then/_execute), throwOnError und buildQueryString.

MethodeBeschreibung
throwOnError(): thisLöst eine Ausnahme aus (anstatt { error } zurückzugeben), wenn die Anfrage fehlschlägt.
buildQueryString(): stringKonstruiert die Abfragezeichenfolge PostgREST (Auswählen, Filtern, Sortieren, Paginierung), ohne die Abfrage auszuführen; nützlich zum Debuggen.
then<TResult1 = AuraResponse<Result>, TResult2 = never>(onfulfilled?: ((value: AuraResponse<Result>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>Führt die Abfrage aus: Der Builder ist „thenable“, ein einfaches await reicht aus.
Generierte Seite

Diese Seite wird aus den Typdeklarationen und Kommentaren des SDK generiert, sodass sie nicht vom veröffentlichten Code abweichen kann. Ausgearbeitete Beispiele finden Sie in den Leitfäden.

Zuletzt aktualisiert · 12.10.2026