Эта документация была автоматически переведена ИИ.
Коллекция
Обзор
Коллекция используется для определения моделей данных в системе, таких как имена моделей, поля, индексы, связи и другая информация.
Обычно она вызывается через метод collection экземпляра Database в качестве точки входа-прокси.
Больше типов полей смотрите в разделе Поля.
Конструктор
Сигнатура
constructor(options: CollectionOptions, context: CollectionContext)
Параметры
Пример
Создание коллекции постов:
Члены экземпляра
options
Начальные параметры конфигурации коллекции. Совпадают с параметром options конструктора.
context
Контекст, к которому принадлежит текущая коллекция; в настоящее время это в основном экземпляр базы данных.
name
Имя коллекции.
db
Экземпляр базы данных, к которому она принадлежит.
filterTargetKey
Имя поля, используемого в качестве первичного ключа.
isThrough
Является ли это промежуточной коллекцией.
model
Соответствует типу модели Sequelize.
repository
Экземпляр репозитория.
Методы конфигурации полей
getField()
Получает объект поля с соответствующим именем, определенный в коллекции.
Сигнатура
getField(name: string): Field
Параметры
Пример
setField()
Устанавливает поле для коллекции.
Сигнатура
setField(name: string, options: FieldOptions): Field
Параметры
Пример
setFields()
Массово устанавливает несколько полей для коллекции.
Сигнатура
setFields(fields: FieldOptions[], resetFields = true): Field[]
Параметры
Пример
removeField()
Удаляет объект поля с соответствующим именем, определенный в коллекции.
Сигнатура
removeField(name: string): void | Field
Параметры
Пример
resetFields()
Сбрасывает (очищает) поля коллекции.
Сигнатура
resetFields(): void
Пример
hasField()
Проверяет, определен ли в коллекции объект поля с соответствующим именем.
Сигнатура
hasField(name: string): boolean
Параметры
Пример
findField()
Находит в коллекции объект поля, соответствующий заданным критериям.
Сигнатура
findField(predicate: (field: Field) => boolean): Field | undefined
Параметры
Пример
forEachField()
Перебирает объекты полей в коллекции.
Сигнатура
forEachField(callback: (field: Field) => void): void
Параметры
Пример
Методы конфигурации индексов
addIndex()
Добавляет индекс к коллекции.
Сигнатура
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })
Параметры
Пример
removeIndex()
Удаляет индекс из коллекции.
Сигнатура
removeIndex(fields: string[])
Параметры
Пример
Методы конфигурации коллекции
remove()
Удаляет коллекцию.
Сигнатура
remove(): void
Пример
Методы работы с базой данных
sync()
Синхронизирует определение коллекции с базой данных. Помимо стандартной логики Model.sync в Sequelize, этот метод также обрабатывает к оллекции, соответствующие полям связей.
Сигнатура
sync(): Promise<void>
Пример
existsInDb()
Проверяет, существует ли коллекция в базе данных.
Сигнатура
existsInDb(options?: Transactionable): Promise<boolean>
Параметры
Пример
removeFromDb()
Сигнатура
removeFromDb(): Promise<void>
Пример

