Collection
概览
Collection 用于定义系统中的数据模型,如模型名称、字段、索引、关联等信息。
一般通过 Database 实例的 collection 方法作为代理入口调用。
更多字段类型请参考 Fields。
构造函数
签名
constructor(options: CollectionOptions, context: CollectionContext)
参数
示例
创建一张文章表:
实例成员
options
数据表配置初始参数。与构造函数的 options 参数一致。
context
当前数据表所属的上下文环境,目前主要是数据库实例。
name
数据表名称。
db
所属数据库实例。
filterTargetKey
作为主键的字段名。
isThrough
是否为中间表。
model
匹配 Sequelize 的 Model 类型。
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()
同步数据表定义到数据库。除了 Sequelize 中默认的 Model.sync 的逻辑,还会一并处理关系字段对应的数据表。
签名
sync(): Promise<void>
示例
existsInDb()
判断数据表是否存在于数据库中。
签名
existsInDb(options?: Transactionable): Promise<boolean>
参数
示例
removeFromDb()
签名
removeFromDb(): Promise<void>
示例

