아우라베이스 로고
아우라베이스문서
문서›JavaScript SDK reference›Database reference

JavaScript SDK: 데이터베이스 참조

aura.db 및 체인 가능한 쿼리 빌더의 모든 메서드와 서명이 포함되어 있습니다.

6분 읽기·레벨 참조·2026. 10. 12.에 개정됨
이 영어 텍스트는 프랑스어 원본에서 자동으로 생성되었으며 아직 검토되지 않았습니다.
이 페이지는 자동으로 번역되었습니다. 영어 버전은 권위가 있습니다.
#
수업

데이터베이스서비스

방법설명
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>
테이블에서 쿼리를 시작합니다.
sql<T = unknown>(query: string, params?: unknown[], options?: RawSqlOptions): Promise<AuraResponse<T>>원시 SQL 쿼리(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>PostgREST(POST|GET|HEAD /rpc/{fn})에 의해 노출된 Postgres 함수를 호출합니다.
schema(): Promise<AuraResponse<{ tables: SchemaTable[]; functions: SchemaFunction[]; enums: SchemaEnum[]; views: SchemaTable[]; }>>현재 프로젝트에 대한 스키마(테이블 및 열, PostgREST을 통해 노출된 Postgres 함수, 열거형 유형 및 뷰)를 가져옵니다.
listFunctions(): Promise<AuraResponse<PgFunctionInfo[]>>프로젝트 스키마(GET /v1/db/functions)의 기능을 나열합니다.
createFunction(definition: CreatePgFunctionRequest): Promise<AuraResponse<null>>Postgres (POST /v1/db/functions) 함수를 생성하거나 대체합니다. service_role 키가 필요합니다. PostgreSQL 프로젝트에만 해당됩니다.
dropFunction(name: string): Promise<AuraResponse<null>>프로젝트 스키마(DELETE /v1/db/functions/{name})에서 기능을 제거합니다. service_role 키가 필요합니다.
listTriggers(table: PgRelationName<Schema>): Promise<AuraResponse<PgTriggerInfo[]>>테이블(GET /v1/db/{table}/triggers)의 트리거를 나열합니다.
createTrigger(table: PgRelationName<Schema>, definition: CreatePgTriggerRequest): Promise<AuraResponse<null>>테이블(POST /v1/db/{table}/triggers)에 트리거를 생성합니다. service_role 키가 필요합니다. PostgreSQL 프로젝트에만 해당됩니다.
dropTrigger(table: PgRelationName<Schema>, name: string): Promise<AuraResponse<null>>테이블(DELETE /v1/db/{table}/triggers/{name})에서 트리거를 제거합니다. 에는 service_role이 필요합니다.
#
수업

AuraQueryBuilder

백엔드의 QueryOptions / FilterOp 형식과 일치하는 URL 쿼리 매개변수로 컴파일하는 연결 가능한 쿼리 빌더입니다.

방법설명
insert(body: Relation extends { Insert: infer I; } ? I | I[] : never): this행 또는 행 배열을 삽입합니다.
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>
행 업데이트: 필터의 대상이 되는 update(body) 또는 식별자당 한 행의 경우 update(id, body).
delete(id?: string): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false>행을 삭제합니다. 필터로 대상을 지정하거나 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>행 또는 행 배열을 삽입하거나 업데이트(upsert)합니다. options.onConflict는 충돌 열의 이름을 지정합니다(기본적으로id).
#
수업

AuraFilterBuilder

모든 PostgREST 필터(eq, neq, ... ilikeAnyOf).

방법설명
eq<C extends keyof Row & string>(column: C, value: Row[C]): thiscolumn가 value와 동일한 행을 필터링합니다.
neq<C extends keyof Row & string>(column: C, value: Row[C]): thiscolumn 가 value와 다른 행을 필터링합니다.
gt<C extends keyof Row & string>(column: C, value: Row[C]): thiscolumn이 value보다 엄격하게 큰 행을 필터링합니다.
gte<C extends keyof Row & string>(column: C, value: Row[C]): thiscolumn가 value보다 크거나 같은 행을 필터링합니다.
lt<C extends keyof Row & string>(column: C, value: Row[C]): thiscolumn가 value보다 엄격하게 작은 행을 필터링합니다.
lte<C extends keyof Row & string>(column: C, value: Row[C]): thiscolumn가 value보다 작거나 같은 행을 필터링합니다.
like(column: keyof Row & string, pattern: string): this패턴 LIKE로 필터링하고 대소문자를 구분합니다(% 는 일련의 문자를 대체합니다).
ilike(column: keyof Row & string, pattern: string): thisILIKE패턴으로 필터링하며 대소문자를 구분하지 않습니다.
is(column: keyof Row & string, value: 'null' | 'true' | 'false' | 'unknown' | 'not.null'): thisIS NULL 또는 IS NOT NULL 필터입니다.
in<C extends keyof Row & string>(column: C, values: Row[C][]): thiscolumn이 values중 하나인 행을 필터링합니다.
or(filters: Array<{ column: string; op: string; value: unknown; }>): thisOR 그룹 추가: or=(col1.eq.val1,col2.gt.val2)
notIn<C extends keyof Row & string>(column: C, values: Row[C][]): thiscolumn가 values와 같지 않은 행을 필터링합니다.
contains(column: keyof Row & string, value: unknown): this열(테이블, JSON 또는 범위)에 value(연산자 @>)이 포함된 행을 필터링합니다.
containedBy(column: keyof Row & string, value: unknown): this열(배열, JSON 또는 범위)이 value(연산자 <@)에 포함된 행을 필터링합니다.
overlaps(column: keyof Row & string, value: unknown): this열(배열 또는 범위)에 value(연산자 &&)와 공통 요소가 하나 이상 있는 행을 필터링합니다.
rangeGt(column: keyof Row & string, range: string): this간격: range(연산자 >>) 오른쪽에 있는 범위를 필터링합니다.
rangeGte(column: keyof Row & string, range: string): this범위: range(연산자 &>) 왼쪽으로 확장되지 않는 범위를 필터링합니다.
rangeLt(column: keyof Row & string, range: string): this간격: range(연산자 <<) 왼쪽에 위치한 필터 범위입니다.
rangeLte(column: keyof Row & string, range: string): this범위: range(연산자 &<) 오른쪽으로 확장되지 않는 범위를 필터링합니다.
rangeAdjacent(column: keyof Row & string, range: string): this범위: range(연산자 -|-)에 인접한 범위를 필터링합니다.
isDistinct(column: keyof Row & string, value: unknown): thiscolumn가 value와 구별되는 행을 필터링하여 NULL를 값(IS DISTINCT FROM)으로 처리합니다.
not(column: string, op: string, value: unknown): this필터를 무효화합니다. not('status', 'eq', 'done')는 done와 다른 status와 동일합니다.
filter(column: string, op: string, value: unknown): this전용 메소드로 처리되지 않는 경우 원시 PostgREST 연산자(eq, gt, cs…)를 사용하여 필터를 추가합니다.
match(query: Record<string, unknown>): this동시에 여러 열의 동일성을 기준으로 필터링: match({ a: 1, b: 2 }).
textSearch(column: keyof Row & string, query: string, options?: { type?: 'plain' | 'phrase' | 'websearch'; config?: string; }): this전체 텍스트 검색. options.type는 'plain', 'phrase' 또는 'websearch' 쿼리를 선택합니다(그렇지 않으면 기본 tsquery 구문). options.config는 언어 구성을 설정합니다.
likeAllOf(column: keyof Row & string, patterns: string[]): this필터 LIKE: 열은 모든 패턴과 일치해야 합니다.
likeAnyOf(column: keyof Row & string, patterns: string[]): this필터 LIKE: 열은 패턴 중 적어도 하나와 일치해야 합니다.
ilikeAllOf(column: keyof Row & string, patterns: string[]): this필터 ILIKE(대소문자 구분 안 함): 열은 모든 패턴과 일치해야 합니다.
ilikeAnyOf(column: keyof Row & string, patterns: string[]): this필터 ILIKE(대소문자 구분 안 함): 열은 패턴 중 적어도 하나와 일치해야 합니다.
#
수업

AuraTransformBuilder

열 선택, 정렬, 페이지 매김 및 카디널리티 수정자(single/maybeSingle/count).

방법설명
select<Query extends string = '*', NewResultOne = GetResult<Schema, Row, RelationName, Relationships, Query, ClientOptions>>(columns?: Query, options?: SelectOptions): AuraFilterBuilder<Schema, Row, RelationName, Relationships, NewResultOne[], ClientOptions, ThrowOnError>열을 선택하고 선택적으로 관련 리소스를 포함합니다(PostgREST 패리티).
order(column: string, directionOrOptions?: 'asc' | 'desc' | OrderOptions): this열을 기준으로 정렬합니다.
limit(n: number): this반환되는 행 수를 제한합니다.
offset(n: number): this첫 번째 n 행을 무시합니다(교대 페이징).
range(from: number, to: number): this인덱스 간격[from, to](포함, 기본 0)별 페이지입니다.
cursor(cursor: string): this키 세트 페이지 매김: 이전 페이지의 불투명한 next_cursor를 전달합니다(대형 테이블의 offset보다 선호됨: 복제/건너뛰기 없이 안정적).
count(mode?: CountMode): thiscount에 반환된 일치하는 행의 총 수(기본값 'exact'또는 'estimated')를 요청합니다.
single<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne, ThrowOnError>정확히 하나의 행을 기다리고 객체 자체를 반환합니다. 0개 이상의 행에서 PGRST116오류가 발생합니다.
maybeSingle<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne | null, ThrowOnError>single()와 비슷하지만 0 행은 오류가 아닙니다. data 은 null입니다.
#
수업

AuraPostgrestBuilder

기본 클래스: 공유 상태, 생성자, HTTP 실행(then/_execute), throwOnError 및 buildQueryString.

방법설명
throwOnError(): this요청이 실패하면 ( { error }를 반환하는 대신) 예외를 발생시킵니다.
buildQueryString(): string쿼리를 실행하지 않고 쿼리 문자열 PostgREST(선택, 필터, 정렬, 페이지 매김)를 구성합니다. 디버깅에 유용합니다.
then<TResult1 = AuraResponse<Result>, TResult2 = never>(onfulfilled?: ((value: AuraResponse<Result>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>쿼리를 실행합니다. 빌더는 "그러면 가능"하며 간단한 await이면 충분합니다.
생성된 페이지

이 페이지는 SDK의 유형 선언 및 주석에서 생성되므로 게시된 코드에서 표류할 수 없습니다. 실제 사례를 보려면 가이드를 읽어보세요.

마지막 업데이트 · 2026. 10. 12.