JavaScript SDK: مرجع قاعدة البيانات
كل طريقة من أساليب aura.db ومنشئ الاستعلام القابل للتسلسل، مع توقيعها.
6 د قراءة·المستوى مرجع·تمت المراجعة في 12/10/2026
تم إنشاء هذا النص الإنجليزي تلقائيًا من النص الأصلي الفرنسي ولم تتم مراجعته بعد.
تمت ترجمة هذه الصفحة تلقائيًا. النسخة الإنجليزية موثوقة.
#
فئة
DatabaseService
| الطريقة | الوصف |
|---|---|
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> | يستدعي دالة Postgres مكشوفة بواسطة PostgREST (POST|GET|HEAD /rpc/{fn}). |
schema(): Promise<AuraResponse<{ tables: SchemaTable[]; functions: SchemaFunction[]; enums: SchemaEnum[]; views: SchemaTable[]; }>> | قم بإحضار المخطط (الجداول والأعمدة، ووظائف Postgres المعروضة عبر PostgREST، وأنواع التعداد وطرق العرض) للمشروع الحالي. |
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
منشئ استعلام قابل للتسلسل يقوم بتجميع معلمات استعلام URL التي تطابق تنسيق QueryOptions / FilterOp الخاص بالواجهة الخلفية.
| الطريقة | الوصف |
|---|---|
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> | إدراج أو تحديث (إدراج) صف أو مصفوفة من الصفوف. options.onConflict يسمي عمود التعارض (id بشكل افتراضي). |
#
فئة
AuraFilterBuilder
جميع مرشحات PostgREST (eq, neq, ... ilikeAnyOf).
| الطريقة | الوصف |
|---|---|
eq<C extends keyof Row & string>(column: C, value: Row[C]): this | يقوم بتصفية الصفوف حيث column يساوي value. |
neq<C extends keyof Row & string>(column: C, value: Row[C]): this | يقوم بتصفية الصفوف التي يختلف فيها column عن value. |
gt<C extends keyof Row & string>(column: C, value: Row[C]): this | تقوم بتصفية الصفوف حيث يكون column أكبر بشكل صارم من value. |
gte<C extends keyof Row & string>(column: C, value: Row[C]): this | لتصفية الصفوف التي يكون فيها column أكبر من أو يساوي value. |
lt<C extends keyof Row & string>(column: C, value: Row[C]): this | يقوم بتصفية الصفوف التي يكون فيها column أقل بدقة من value. |
lte<C extends keyof Row & string>(column: C, value: Row[C]): this | يقوم بتصفية الصفوف التي يكون فيها column أقل من أو يساوي value. |
like(column: keyof Row & string, pattern: string): this | قم بالتصفية حسب النمط LIKE، حساس لحالة الأحرف (يستبدل % سلسلة من الأحرف). |
ilike(column: keyof Row & string, pattern: string): this | التصفية حسب النمط ILIKE، غير حساس لحالة الأحرف. |
is(column: keyof Row & string, value: 'null' | 'true' | 'false' | 'unknown' | 'not.null'): this | مرشح فارغ أو ليس فارغًا. |
in<C extends keyof Row & string>(column: C, values: Row[C][]): this | يقوم بتصفية الصفوف التي يكون column واحدًا من values. |
or(filters: Array<{ column: string; op: string; value: unknown; }>): this | إضافة مجموعة أو: or=(col1.eq.val1,col2.gt.val2) |
notIn<C extends keyof Row & string>(column: C, values: Row[C][]): this | يقوم بتصفية الصفوف حيث column لا يساوي أيًا من 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): this | لتصفية الصفوف التي يختلف فيها column عن value، مع معاملة NULL كقيمة (IS DISTINCT FROM). |
not(column: string, op: string, value: unknown): this | يلغي عامل التصفية: not('status', 'eq', 'done') يعادل status يختلف عن done. |
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 | الصفحات حسب الفاصل الزمني للفهرس [من، إلى] (شاملاً، الأساس 0). |
cursor(cursor: string): this | ترقيم الصفحات لمجموعة المفاتيح: قم بتمرير next_cursor غير الشفاف للصفحة السابقة (يفضل offset على الجداول الكبيرة: ثابت، بدون تكرار/تخطي). |
count(mode?: CountMode): this | يطلب العدد الإجمالي للصفوف المطابقة (الافتراضي 'exact' أو 'estimated') التي يتم إرجاعها في count. |
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، لذلك لا يمكن أن تنحرف عن التعليمات البرمجية المنشورة. للحصول على أمثلة عملية، اقرأ الأدلة.
آخر تحديث · 12/10/2026