Ця документація була автоматично перекладена штучним інтелектом.
Колекція використовується для визначення моделей даних у системі, таких як назви моделей, поля, індекси, асоціації та інша інформація.
Зазвичай її викликають через метод 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>Приклад