跳到主要内容

字段说明

数据模型字段为数据源的表结构基础,可以理解为 Excel 表格的表头(列),而数据可以理解为 Excel 表格的行。

字段类型

开发者可自定义数据模型字段,自定义字段支持类型如下:

数据类型格式DB字段类型使用说明传参示例
文本单行文本string最长可存储4000字节,如需存储更长内容,建议使用富文本类型"this is a string"
多行文本string最长可存储4000字节,如需存储更长内容,建议使用富文本类型"this is a long-text"
布尔值-booleantrue 或 falsetrue
数字-number数字123456.78
数组数组array根据数组的元素类型进行校验["abc", "321"]
对象对象object--
Json-object复杂的数据结构或动态属性{ "title":"My First Blog Post","body": "<h1>Welcome to my blog!</h1><p>This is my first post.</p>","tags": ["blog", "first post","introduction"] }
邮箱邮箱string含有 xx@yy.zz"email@qq.com"
电话固定电话string有0开头的2,3位区号或者没有区号的7-8位字符串"0271-1234567"或"027-1234567"或"1234567"
手机号码string符合手机号规范的11位字符串"13812341234"
网址网址string符合网址规范的字符串`https://xxx.xxx.xx`
图片图片string默认从前端组件获得图片的 cloudId`cloud://xxx.xxx.xxx.png`
多媒体视频string支持类型:ogm、wmv、mpg、webm、ogv、mov、asx、mpeg、mp4、m4v、avicloud://xxx.xxx.xxx/xx.mp4
音频string支持类型:opus、flac、webm、weba、wav、ogg、m4a、oga、mid、mp3、aiff、wma、aucloud://xxx.xxx.xxx/xx.wav
富文本-string最长可存储262144字节-
Markdown-string可使用 Markdown 编辑器编辑内容,并支持实时预览# 这是一个Markdown示例
日期时间日期时间number默认从前端组件获取的时间戳,单位为ms1645977600000
日期number默认从前端组件获取的时间戳,单位为ms1645977600000
时间number默认从前端组件获取的时间戳,单位为ms1645977600000
枚举单选string所填值必须为用户设置的枚举值中的某一个,存储为字符串"牛奶"
多选array所填值必须为用户设置的枚举值中的某一个或多个,存储为数组["牛奶", "面包"]
地理位置-object固定格式的对象,address 是位置的文字说明,coordinates 是包含经纬度的数组,详见传参示例 {"geopoint": { "type": "Point", "coordinates": [ 40.56, 5.89]},"address": "深圳市南山区深南大道**号"}
文件文件string默认从前端组件获得文件的 cloudId`cloud://xxx.xxx.xxx.png`
自动编号-string例如客户不填则后端自动补齐;例如客户传参,使用客户定义的值1001
地区string陕西省
省市string以逗号分割的地理位置陕西省,西安市
省市区string以逗号分割的地理位置陕西省,西安市,雁塔区
关联关系(新)关联关系stringFLEXDB:支持一对一、一对多、多对一关联关系; MYSQL:支持一对一、一对多、多对一、多对多关联关系详见本篇有关关联关系说明

字段通用配置

概念解释

  • 字段名称:支持中英文。

  • 字段标识:标识不能为空,不能以数字开头,只能包含字母、数字或_,不能输入超过40个字符。

  • 数据类型:即字段类型选择,可参考字段类型设置所需字段设置。

  • 是否必填:该字段是否必填。

  • 是否唯一:该字段的取值是否允许重复,设置为唯一则不允许填重复值。

  • 是否为主展示列:数据类型为文本 时可选择。当用户在其它数据模型中,配置关联关系或主子明细字段关联到本数据模型时,该字段会显示为主展示列的值,方便用户查看。此配置仅影响查看效果,不影响关联关系或主子明细字段实际存储内容。

主展示列详解

用户可以在数据模型中设置一个字段为主展示列。该字段将会影响其它模型关联此模型时的展示名称。下面以学生和课程两个数据模型为例,说明主展示列的使用方法。

学生模型配置:课程表数据类型为关联关系,关联的数据模型为课程。

img_22.png

课程模型配置:课程名称设置为主展示列。

img_23.png

通过接口查询该数据模型结果如下:课程表字段实际存储的仍然是关联表的 id,通过 @kcb 返回了关联表中该条记录的全部内容,并通过"primaryColumn": "mc"标识出主展示列为哪个字段。

{
"records": [{
"xm": "张三",
"_id": "962d008f650404bc024c52f43a471189",
"kcb": "93e4b6a0640e9139042f27941b0ab7e6",
"@kcb": {
"v1": {
"primaryColumn": "mc",
"record": {
"owner": "1446845068964986882",
"createdAt": 1678676281098,
"createBy": "1446845068964986882",
"updateBy": "1443776918208724994",
"mc": "语文",
"_id": "93e4b6a0640e9139042f27941b0ab7e6",
"updatedAt": 1690341673543
}
}
}
},
{
"xm": "李四",
"_id": "41d77edc650404c8024ad4636a1c0704",
"kcb": "987a4537640e9140042d5c5715fce0ce",
"@kcb": {
"v1": {
"primaryColumn": "mc",
"record": {
"owner": "1446845068964986882",
"createdAt": 1678676288091,
"createBy": "1446845068964986882",
"updateBy": "1443776918208724994",
"mc": "数学",
"_id": "987a4537640e9140042d5c5715fce0ce",
"updatedAt": 1690341680970
}
}
}
}
],
"total": 2
}

在表格组件中,为方便用户查看,课程表字段自动转换为主展示列显示出来。

img_24.png

需要注意的是,如上文所述,该字段实际存储为记录的 id。

在使用数据筛选时,如果想查询课程表字段为语文的记录,筛选条件应使用课程模型中语文对应的 id 值。

{
"where": {
"$and": [{
"$and": [{
"kcb": {
"$eq": "93e4b6a0640e9139042f27941b0ab7e6"
}
}]
}]
}
}

在表单容器中,绑定学生模型时,课程表字段会自动生成为下拉单选组件。组件的选项名称即为主展示列,选项值为 id。

img_25.png

从提交的参数可以看出,课程表字段提交的是选项值,保存的是关联记录的 id。

{
"xm": "王五",
"kcb": "93e4b6a0640e9145042f2e635ed8600f"
}

字段使用说明

枚举

字段的是否枚举属性已升级为枚举字段,枚举字段属性设置参考:

  • 选择设置:支持单选、多选。

    • 单选:仅允许选择单个枚举值。

    • 多选:允许选择多个枚举值。

  • 关联选项集:枚举字段的枚举值依赖于通用选项集,当没有合适选项集时,可单击立即创建

说明:

历史已经设置了是否枚举属性的字段仍可正常使用,官方建议升级为枚举类型字段。

计算公式

  • 新增计算公式类型字段,选择结果类型。

  • 结果类型支持文本、日期时间、数字。

  • 输入计算表达式,表达式规则请参见 表达式

自动编号

自动编号性质与字符串类型相同,只是在创建一条记录时,若用户没有输入值,则自动生成的指定格式的字符串值。开发者可以按其偏好自定义这些字段的格式,然后依靠系统在运行时生成自动填充它们的匹配值。 自动编号类型字段支持三种编号类型:字符串前缀、日期前缀、自定义。

字符串前缀

在该类型中,自动编号将包含自动递增的数字,具有可选的字符串常量前缀。

  • 规则: {前缀}-{SEQNUM:最小位数+起始值}。

  • 最小位数:自动生成的编号序列要包含的最小位数。随着编号序列继续增加,它可能比此最小值长。

  • 起始值:用于自动编号列的序列号部分的起始值。

  • 示例:前缀:CAR,最小位数:4,起始值:1000。

  • 结果:CAR-1000,CAR-1001,CAR-1002,CAR-1003。

日期前缀

在该类型中,自动编号将包含自动递增的数字,具有确定格式的日期前缀。 行的日期部分将反映以 UTC 时间创建行的当前日期和时间。 内置供选择的不同日期格式,包含:

  • yyyy-MM-dd

  • MM-dd-yyyy

  • MM-dd-yy

  • dd-MM-yy

规则:{DATETIMEUTC:日期格式}-{SEQNUM:最小位数+起始值}。 举例:日期格式:yyyy-MM-dd,最小位数:4,起始值:1000。 结果:2010-01-01-0001,2010-01-01-0002,2010-01-01-03。

自定义

在该类型中,可能包括字符串常量、自动递增数字、确定格式的日期格或随机的字母数字序列。 单击添加格式可以向格式字段输入框文本后面插入默认格式。 支持的格式语法如下:

格式类型语法示例预览默认添加格式
连续数字 SEQNUM-CAR-{SEQNUM:3}CAR-123{SEQNUM:4}
时间日期 DATETIMEUTCCAR-{DATETIMEUTC:yyyyMMddhhmmss}CAR-20211223164721{DATETIMEUTC:yyyy-MM-dd}
随机字符串 RANDSTRINGCAR-{SEQNUM:3}-{RANDSTRING:6}CAR-123-AB7LSF{RANDSTRING:4}

说明:

自动编号类型的字段和其他类型字段功能一致。一样可以用于表单提交或用户自己输入值。唯一不同的是该字段设置成非必填的情况下,用户创建记录时又没有输入该字段的值,则按照指定格式填充数据。

用户自己填入值的时候,不占用自增序列值。即:自动创建了 1000, 1001后,用户新增一条 aaa 的值,再一次自动新增时为1002,不会产生序列中断。

说明:

自动编号类型字段在模型的方法中同数据标识(_id), 新增、更新方法的入参不包含自动编号类型字段,即不可新增或修改。