تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.
تُستخدم مجموعة لتعريف نماذج البيانات في النظام، مثل أسماء النماذج، الحقول، الفهارس، والارتباطات، وغيرها من المعلومات.
يتم استدعاؤها عادةً عبر طريقة collection الخاصة بنسخة Database كمدخل وكيل.
لمزيد من أنواع الحقول، يرجى الرجوع إلى الحقول.
التوقيع
constructor(options: CollectionOptions, context: CollectionContext)المعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
options.name | string | - | معرف المجموعة |
options.tableName? | string | - | اسم جدول قاعدة البيانات. إذا لم يتم توفيره، فسيتم استخدام قيمة options.name. |
options.fields? | FieldOptions[] | - | تعريفات الحقول. انظر الحقل لمزيد من التفاصيل. |
options.model? | string | ModelStatic<Model> | - | نوع نموذج Sequelize. إذا تم استخدام string، فيجب أن يكون اسم النموذج قد تم تسجيله مسبقًا في قاعدة البيانات. |
options.repository? | string | RepositoryType | - | نوع المستودع. إذا تم استخدام string، فيجب أن يكون نوع المستودع قد تم تسجيله مسبقًا في قاعدة البيانات. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | تهيئة حقل قابل للفرز. غير قابل للفرز افتراضيًا. |
options.autoGenId? | boolean | true | ما إذا كان سيتم إنشاء مفتاح أساسي فريد تلقائيًا. القيمة الافتراضية هي true. |
context.database | Database | - | قاعدة البيانات في السياق الحالي. |
مثال
إنشاء مجموعة للمقالات:
optionsمعلمات التهيئة الأولية للمجموعة. مطابقة لمعلمة options الخاصة بالدالة الإنشائية.
contextالسياق الذي تنتمي إليه المجموعة الحالية، وهو حاليًا نسخة قاعدة البيانات بشكل أساسي.
nameاسم المجموعة.
dbنسخة قاعدة البيانات التي تنتمي إليها.
filterTargetKeyاسم الحقل المستخدم كمفتاح أساسي.
isThroughما إذا كانت مجموعة وسيطة.
modelيطابق نوع نموذج Sequelize.
repositoryنسخة المستودع.
getField()يحصل على كائن الحقل بالاسم المقابل المعرّف في المجموعة.
التوقيع
getField(name: string): Fieldالمعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
name | string | - | اسم الحقل |
مثال
setField()يقوم بتعيين حقل للمجموعة.
التوقيع
setField(name: string, options: FieldOptions): Fieldالمعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
name | string | - | اسم الحقل |
options | FieldOptions | - | تهيئة الحقل. انظر الحقل لمزيد من التفاصيل. |
مثال
setFields()يقوم بتعيين حقول متعددة للمجموعة دفعة واحدة.
التوقيع
setFields(fields: FieldOptions[], resetFields = true): Field[]المعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
fields | FieldOptions[] | - | تهيئة الحقول. انظر الحقل لمزيد من التفاصيل. |
resetFields | boolean | true | ما إذا كان سيتم إعادة تعيين الحقول الموجودة. |
مثال
removeField()يزيل كائن الحقل بالاسم المقابل المعرّف في المجموعة.
التوقيع
removeField(name: string): void | Fieldالمعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
name | string | - | اسم الحقل |
مثال
resetFields()يعيد تعيين (يمسح) حقول المجموعة.
التوقيع
resetFields(): voidمثال
hasField()يتحقق مما إذا كان كائن حقل بالاسم المقابل معرّفًا في المجموعة.
التوقيع
hasField(name: string): booleanالمعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
name | string | - | اسم الحقل |
مثال
findField()يبحث عن كائن حقل في المجموعة يطابق المعايير.
التوقيع
findField(predicate: (field: Field) => boolean): Field | undefinedالمعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
predicate | (field: Field) => boolean | - | معايير البحث |
مثال
forEachField()يتكرر على كائنات الحقول في المجموعة.
التوقيع
forEachField(callback: (field: Field) => void): voidالمعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
callback | (field: Field) => void | - | دالة رد الاتصال |
مثال
addIndex()يضيف فهرسًا إلى المجموعة.
التوقيع
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })المعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
index | string | string[] | - | اسم (أسماء) الحقل المراد فهرسته. |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | التهيئة الكاملة. |
مثال
removeIndex()يزيل فهرسًا من المجموعة.
التوقيع
removeIndex(fields: string[])المعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
fields | string[] | - | مجموعة أسماء الحقول للفهرس المراد إزالته. |
مثال
remove()يحذف المجموعة.
التوقيع
remove(): voidمثال
sync()يقوم بمزامنة تعريف المجموعة مع قاعدة البيانات. بالإضافة إلى المنطق الافتراضي لـ Model.sync في Sequelize، فإنه يعالج أيضًا المجموعات المقابلة لحقول الارتباط.
التوقيع
sync(): Promise<void>مثال
existsInDb()يتحقق مما إذا كانت المجموعة موجودة في قاعدة البيانات.
التوقيع
existsInDb(options?: Transactionable): Promise<boolean>المعلمات
| المعلمة | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
options?.transaction | Transaction | - | نسخة المعاملة |
مثال
removeFromDb()التوقيع
removeFromDb(): Promise<void>مثال