有奖捉虫:行业应用 & 管理与支持文档专题 HOT

概述

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

字段类型

开发者可自定义数据模型字段,自定义字段支持类型如下:
新版字段
历史字段
类型
使用说明
传参示例
文本-短文本
中文姓名、字符串
string
最长可存储4000字节,如需存储更长内容,建议使用富文本类型
"this is a string"
文本-长文本
-
string
最长可存储4000字节,如需存储更长内容,建议使用富文本类型
"this is a long-text"
富文本
富文本
string
最长可存储262144字节
-
邮箱
邮箱
string
含有 xx@yy.zz
"email@qq.com"
电话-电话号码
电话号码
string
有0开头的2,3位区号或者没有区号的7-8位字符串
"0271-1234567"或"027-1234567"或"1234567"
电话-手机号码
手机号码
string
符合手机号规范的11位字符串
"13812341234"
图片
图片
string
默认从前端组件获得图片的 cloudId
cloud://xxx.xxx.xxx.png
文件
文件
string
默认从前端组件获得文件的 cloudId
cloud://xxx.xxx.xxx.png
网址
网址
string
符合网址规范的字符串
https://xxx.xxx.xx
关联关系
关联关系
string
关联数据的 _id 值
主子明细
主子明细
string
关联数据的 _id 值
数字
数字、年龄
number
数字
123456.78
日期时间-日期时间
新增
number
默认从前端组件获取的时间戳,单位为ms
1645977600000
日期时间-日期
日期
number
默认从前端组件获取的时间戳,单位为ms
1645977600000
日期时间-时间
时间
number
默认从前端组件获取的时间戳,单位为ms
1645977600000
布尔值
布尔值
boolean
true或false
true
数组
数组
array
根据数组的元素类型进行校验
["abc", "321"]
对象
对象
object
-
-
枚举-单选
是否枚举属性
string
所填值必须为用户设置的枚举值中的某一个,存储为字符串
"牛奶"
枚举-多选
-
array
所填值必须为用户设置的枚举值中的某一个或多个,存储为数组
["牛奶", "面包"]
地理位置
-
object
固定格式的对象,address 是位置的文字说明,coordinates 是包含经纬度的数组,详见传参示例



地区-省
-
string
陕西省
地区-省市
-
string
以逗号分割的地理位置
陕西省,西安市
地区-省市区
-
string
以逗号分割的地理位置
陕西省,西安市,雁塔区
计算公式
-
string
客户自定义的表达式
(#lastname +#firstname)
自动编号
-
string
如客户不填则后端自动补齐;如客户传参,使用客户定义的值
1001

字段通用配置

概念解释

字段名称:支持中英文。
字段标识:仅支持英文字符、下划线。
数据类型:即字段类型选择,可参考字段类型设置所需字段设置。
是否必填:该字段是否必填。
是否唯一:该字段的取值是否允许重复,设置为唯一则不允许填重复值。
是否为主展示列:数据类型为文本时可选择。当用户在其它数据模型中,配置关联关系或主子明细字段关联到本数据模型时,该字段会显示为主展示列的值,方便用户查看。此配置仅影响查看效果,不影响关联关系或主子明细字段实际存储内容。

主展示列详解

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



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



通过接口查询该数据模型结果如下:课程表字段实际存储的仍然是关联表的 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
}
在表格组件中,为方便用户查看,课程表字段自动转换为主展示列显示出来。



需要注意的是,如上文所述,该字段实际存储为记录的 id。
在使用数据筛选时,如果想查询课程表字段为语文的记录,筛选条件应使用课程模型中语文对应的 id 值。
{
"where": {
"$and": [{
"$and": [{
"kcb": {
"$eq": "93e4b6a0640e9139042f27941b0ab7e6"
}
}]
}]
}
}
在表单容器中,绑定学生模型时,课程表字段会自动生成为下拉单选组件。组件的选项名称即为主展示列,选项值为 id。



从提交的参数可以看出,课程表字段提交的是选项值,保存的是关联记录的 id。
{
"xm": "王五",
"kcb": "93e4b6a0640e9145042f2e635ed8600f"
}

字段使用说明

枚举

字段的是否枚举属性已升级为枚举字段,枚举字段属性设置参考:
选择设置:支持单选、多选。
单选:仅允许选择单个枚举值。
多选:允许选择多个枚举值。
关联选项集:枚举字段的枚举值依赖于通用选项集,当没有合适选项集时,可单击立即创建
说明:
历史已经设置了是否枚举属性的字段仍可正常使用,官方建议升级为枚举类型字段。

计算公式

新增计算公式类型字段,选择结果类型。
结果类型支持文本、日期时间、数字。
输入计算表达式,表达式规则请参见 表达式

自动编号

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

关联关系

可以通过该字段关联其它数据模型,该字段会记录关联数据模型的数据 ID。如学生表中可设置课程 ID 字段为关联关系,查询时可以通过课程 ID 获取到关联课程的信息。
关联类型:可选一条数据对应一条关联数据,或多条数据对一条关联数据。
删除行为:可选删除数据同时删除关联表数据,或删除数据时不删除关联表数据。




主子明细

可以通过该字段关联其它数据模型,该字段会记录关联数据模型的数据 ID。例如学生表中可设置课程 ID 字段为关联关系,查询时可以通过课程 ID 获取到关联课程的信息。
关联类型:可选一条数据对应一条关联数据,或多条数据对一条关联数据。
删除行为:删除被关联数据同时删除关联表数据。




字符串前缀

在该类型中,自动编号将包含自动递增的数字,具有可选的字符串常量前缀。
规则: {前缀}-{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}
时间日期 DATETIMEUTC
CAR-{DATETIMEUTC:yyyyMMddhhmmss}
CAR-20211223164721
{DATETIMEUTC:yyyy-MM-dd}
随机字符串 RANDSTRING
CAR-{SEQNUM:3}-{RANDSTRING:6}
CAR-123-AB7LSF
{RANDSTRING:4}
说明:
自动编号类型的字段和其他类型字段功能一致。一样可以用于表单提交或用户自己输入值。唯一不同的是该字段设置成非必填的情况下,用户创建记录时又没有输入该字段的值,则按照指定格式填充数据。
用户自己填入值的时候,不占用自增序列值。即:自动创建了 1000, 1001后,用户新增一条 aaa 的值,再一次自动新增时为1002,不会产生序列中断。
说明:
自动编号类型字段在模型的方法中同数据标识(_id), 新增、更新方法的入参不包含自动编号类型字段,即不可新增或修改。