מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית
אוסף (Collection) משמש להגדרת מודלי נתונים במערכת, כמו שמות מודלים, שדות, אינדקסים, קשרים ומידע נוסף.
בדרך כלל, קוראים לו דרך מתודת ה-collection של מופע Database כנקודת גישה.
לסוגי שדות נוספים, ראו Fields.
חתימה
constructor(options: CollectionOptions, context: CollectionContext)פרמטרים
| פרמטר | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
options.name | string | - | מזהה ה-אוסף |
options.tableName? | string | - | שם טבלת מסד הנתונים. אם לא סופק, ייעשה שימוש בערך של options.name. |
options.fields? | FieldOptions[] | - | הגדרות שדות. לפרטים נוספים, ראו Field. |
options.model? | string | ModelStatic<Model> | - | טיפוס מודל של Sequelize. אם נעשה שימוש ב-string, שם המודל חייב להיות רשום מראש במסד הנתונים. |
options.repository? | string | RepositoryType | - | טיפוס רפוזיטורי (repository). אם נעשה שימוש ב-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 | - | תצורת שדה. לפרטים נוספים, ראו Field. |
דוגמה
setFields()מגדיר מספר שדות עבור האוסף בקבוצה.
חתימה
setFields(fields: FieldOptions[], resetFields = true): Field[]פרמטרים
| פרמטר | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
fields | FieldOptions[] | - | תצורת שדה. לפרטים נוספים, ראו Field. |
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 | - | פונקציית קריאה חוזרת (callback) |
דוגמה
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 | - | מופע טרנזקציה (transaction) |
דוגמה
removeFromDb()חתימה
removeFromDb(): Promise<void>דוגמה