Logo Aurabase
aurabasedocumenti
documenti›JavaScript SDK reference›Database reference

SDK JavaScript: riferimento al database

Ogni metodo di aura.db e del generatore di query concatenabile, con la sua firma.

6 min letto·Livello riferimento·Revisionato il 12 ott 2026
Questo testo inglese è stato generato automaticamente dall'originale francese e non è stato ancora rivisto.
Questa pagina è stata tradotta automaticamente. Fa fede la versione inglese.
#
Classe

Servizio database

MetodoDescrizione
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>
Avvia una query su una tabella.
sql<T = unknown>(query: string, params?: unknown[], options?: RawSqlOptions): Promise<AuraResponse<T>>Esegue una query SQL non elaborata (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>Chiama una funzione Postgres esposta da PostgREST (POST|GET|HEAD /rpc/{fn}).
schema(): Promise<AuraResponse<{ tables: SchemaTable[]; functions: SchemaFunction[]; enums: SchemaEnum[]; views: SchemaTable[]; }>>Recupera lo schema (tabelle e colonne, funzioni Postgres esposte tramite PostgREST, tipi enumerativi e visualizzazioni) per il progetto corrente.
listFunctions(): Promise<AuraResponse<PgFunctionInfo[]>>Elenca le funzioni dello schema del progetto (GET /v1/db/functions).
createFunction(definition: CreatePgFunctionRequest): Promise<AuraResponse<null>>Crea o sostituisce una funzione Postgres (POST /v1/db/functions). Richiede una chiave service_role. PostgreSQL solo progetti.
dropFunction(name: string): Promise<AuraResponse<null>>Rimuove una funzionalità dallo schema del progetto (DELETE /v1/db/functions/{name}). Richiede una chiave service_role.
listTriggers(table: PgRelationName<Schema>): Promise<AuraResponse<PgTriggerInfo[]>>Elenca i trigger di una tabella (GET /v1/db/{table}/triggers).
createTrigger(table: PgRelationName<Schema>, definition: CreatePgTriggerRequest): Promise<AuraResponse<null>>Crea un trigger su una tabella (POST /v1/db/{table}/triggers). Richiede una chiave service_role. PostgreSQL solo progetti.
dropTrigger(table: PgRelationName<Schema>, name: string): Promise<AuraResponse<null>>Rimuove un trigger da una tabella (DELETE /v1/db/{table}/triggers/{name}). Richiede service_role.
#
Classe

AuraQueryBuilder

Generatore di query concatenabile che compila parametri di query URL corrispondenti al formato QueryOptions/FilterOp del backend.

MetodoDescrizione
insert(body: Relation extends { Insert: infer I; } ? I | I[] : never): thisInserisce una riga o una matrice di righe.
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>
Aggiorna le righe: update(body) scelte come target dai filtri o update(id, body) per una riga per identificatore.
delete(id?: string): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false>Elimina le righe: mirate dai filtri o una riga dall'identificatore con 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>Inserisce o aggiorna (upsert) una riga o un array di righe. options.onConflict nomina la colonna del conflitto (id per impostazione predefinita).
#
Classe

AuraFilterBuilder

Tutti i filtri PostgREST (eq, neq, ... ilikeAnyOf).

MetodoDescrizione
eq<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra le righe in cui column è uguale a value.
neq<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra le righe in cui column è diverso da value.
gt<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra le righe in cui column è strettamente maggiore di value.
gte<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra le righe in cui column è maggiore o uguale a value.
lt<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra le righe in cui column è rigorosamente inferiore a value.
lte<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra le righe in cui column è minore o uguale a value.
like(column: keyof Row & string, pattern: string): thisFiltra per modello LIKE, con distinzione tra maiuscole e minuscole (% sostituisce una sequenza di caratteri).
ilike(column: keyof Row & string, pattern: string): thisFiltra per modello ILIKE, senza distinzione tra maiuscole e minuscole.
is(column: keyof Row & string, value: 'null' | 'true' | 'false' | 'unknown' | 'not.null'): thisFiltro IS NULL o NON IS NULL.
in<C extends keyof Row & string>(column: C, values: Row[C][]): thisFiltra le righe il cui column è uno di values.
or(filters: Array<{ column: string; op: string; value: unknown; }>): thisAggiungi un gruppo OR: or=(col1.eq.val1,col2.gt.val2)
notIn<C extends keyof Row & string>(column: C, values: Row[C][]): thisFiltra le righe in cui column non è uguale a nessuno di values.
contains(column: keyof Row & string, value: unknown): thisFiltra le righe la cui colonna (tabella, JSON o intervallo) contiene value (operatore @>).
containedBy(column: keyof Row & string, value: unknown): thisFiltra le righe la cui colonna (array, JSON o intervallo) è contenuta in value (operatore <@).
overlaps(column: keyof Row & string, value: unknown): thisFiltra le righe la cui colonna (matrice o intervallo) ha almeno un elemento in comune con value (operatore &&).
rangeGt(column: keyof Row & string, range: string): thisIntervallo: filtra gli intervalli posizionati rigorosamente a destra di range (operatore >>).
rangeGte(column: keyof Row & string, range: string): thisIntervallo: filtra gli intervalli che non si estendono a sinistra di range (operatore &>).
rangeLt(column: keyof Row & string, range: string): thisIntervallo: filtra gli intervalli posizionati rigorosamente a sinistra di range (operatore <<).
rangeLte(column: keyof Row & string, range: string): thisIntervallo: filtra gli intervalli che non si estendono a destra di range (operatore &<).
rangeAdjacent(column: keyof Row & string, range: string): thisIntervallo: filtra gli intervalli adiacenti a range (operatore -|-).
isDistinct(column: keyof Row & string, value: unknown): thisFiltra le righe in cui column è distinto da value, trattando NULL come un valore (IS DISTINCT FROM).
not(column: string, op: string, value: unknown): thisNega un filtro: not('status', 'eq', 'done') è equivalente a status diverso da done.
filter(column: string, op: string, value: unknown): thisAggiunge un filtro con un operatore PostgREST non elaborato (eq, gt, cs…), per i casi non coperti da un metodo dedicato.
match(query: Record<string, unknown>): thisFiltra per uguaglianza su più colonne contemporaneamente: match({ a: 1, b: 2 }).
textSearch(column: keyof Row & string, query: string, options?: { type?: 'plain' | 'phrase' | 'websearch'; config?: string; }): thisRicerca nel testo completo. options.type sceglie la query: 'plain', 'phrase' o 'websearch' (altrimenti sintassi nativa tsquery); options.config imposta la configurazione della lingua.
likeAllOf(column: keyof Row & string, patterns: string[]): thisFiltro LIKE: la colonna deve corrispondere a TUTTI i modelli.
likeAnyOf(column: keyof Row & string, patterns: string[]): thisFiltro LIKE: la colonna deve corrispondere ad ALMENO UNO dei modelli.
ilikeAllOf(column: keyof Row & string, patterns: string[]): thisFiltro ILIKE (senza distinzione tra maiuscole e minuscole): la colonna deve corrispondere a TUTTI i modelli.
ilikeAnyOf(column: keyof Row & string, patterns: string[]): thisFiltro ILIKE (senza distinzione tra maiuscole e minuscole): la colonna deve corrispondere ad ALMENO UNO dei modelli.
#
Classe

AuraTransformBuilder

Modificatori di selezione, ordinamento, impaginazione e cardinalità delle colonne (single/maybeSingle/count).

MetodoDescrizione
select<Query extends string = '*', NewResultOne = GetResult<Schema, Row, RelationName, Relationships, Query, ClientOptions>>(columns?: Query, options?: SelectOptions): AuraFilterBuilder<Schema, Row, RelationName, Relationships, NewResultOne[], ClientOptions, ThrowOnError>Seleziona le colonne e facoltativamente incorpora le risorse correlate (parità PostgREST).
order(column: string, directionOrOptions?: 'asc' | 'desc' | OrderOptions): thisOrdina su una colonna.
limit(n: number): thisLimita il numero di righe restituite.
offset(n: number): thisIgnora le prime righe n (spostamento pagina).
range(from: number, to: number): thisPagine per intervallo di indice [da, a] (incluso, base 0).
cursor(cursor: string): thisImpaginazione keyset: passa l'opaco next_cursor della pagina precedente (preferibile a offset su tabelle di grandi dimensioni: stabile, senza dup/skip).
count(mode?: CountMode): thisRichiede il numero totale di righe corrispondenti (impostazione predefinita 'exact' o 'estimated'), restituite in count.
single<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne, ThrowOnError>Attende esattamente una riga e restituisce l'oggetto stesso; 0 o più righe restituiscono l'errore PGRST116.
maybeSingle<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne | null, ThrowOnError>Come single(), ma 0 righe non sono un errore: data sarà quindi null.
#
Classe

AuraPostgrestBuilder

Classe base: stato condiviso, costruttore, esecuzione HTTP (then/_execute), throwOnError e buildQueryString.

MetodoDescrizione
throwOnError(): thisGenera un'eccezione (invece di restituire { error }) quando la richiesta fallisce.
buildQueryString(): stringCostruisce la stringa di query PostgREST (selezione, filtri, ordinamento, impaginazione) senza eseguire la query; utile per il debug.
then<TResult1 = AuraResponse<Result>, TResult2 = never>(onfulfilled?: ((value: AuraResponse<Result>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>Esegue la query: il builder è “thenable”, basta un semplice await.
Pagina generata

Questa pagina viene generata dalle dichiarazioni di tipo e dai commenti dell'SDK, quindi non può derivare dal codice pubblicato. Per esempi pratici, leggi le guide.

Ultimo aggiornamento · 12 ott 2026