Field
概览
数据表字段管理类(抽象类)。同时是所有字段类型的基类,其他任意字段类型均通过继承该类来实现。
如何自定义字段可参考[扩展字段类型]
构造函数
通常不会直接由开发者调用,主要通过 db.collection({ fields: [] }) 方法作为代理入口调用。
在扩展字段时主要通过继承 Field 抽象类,再注册到 Database 实例中来实现。
签名
constructor(options: FieldOptions, context: FieldContext)
参数
实例成员
name
字段名称。
type
字段类型。
dataType
字段数据库存储类型。
options
字段初始化配置参数。
context
字段上下文对象。
配置方法
on()
基于数据表事件的快捷定义方式。相当于 db.on(this.collection.name + '.' + eventName, listener)。
继承时通常无需覆盖此方法。
签名
on(eventName: string, listener: (...args: any[]) => void)
参数
off()
基于数据表事件的快捷移除方式。相当于 db.off(this.collection.name + '.' + eventName, listener)。
继承时通常无需覆盖此方法。
签名
off(eventName: string, listener: (...args: any[]) => void)
参数
bind()
当字段被添加到数据表时触发的执行内容。通常用于添加数据表事件监听器和其他处理。
继承时需要先调用对应的 super.bind() 方法。
签名
bind()
unbind()
当字段从数据表中移除时触发的执行内容。通常用于移除数据表事件监听器和其他处理。
继承时需要先调用对应的 super.unbind() 方法。
签名
unbind()
get()
获取字段的配置项的值。
签名
get(key: string): any
参数
示例
merge()
合并字段的配置项的值。
签名
merge(options: { [key: string]: any }): void
参数
示例
remove()
从数据表中移除字段(仅从内存中移除)。
示例
数据库方法
removeFromDb()
从数据库中移除字段。

