腾讯云微搭低代码 数据模型字段

数据模型 字段为数据源的表结构基础,可以理解为 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 客户自定义的表达式该类型不再迭代,建议你使用 js 方法替代该字段 (#lastname +#firstname)
自动编号 – string 例如客户不填则后端自动补齐;例如客户传参,使用客户定义的值 1001
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"]}
Markdown – string 可使用 Markdown 编辑器编辑内容,并支持实时预览 # 这是一个Markdown示例
多媒体-音频 – string 支持类型:opus、flac、webm、weba、wav、ogg、m4a、oga、mid、mp3、aiff、wma、au cloud://xxx.xxx.xxx/xx.wav
多媒体-视频 – string 支持类型:ogm、wmv、mpg、webm、ogv、mov、asx、mpeg、mp4、m4v、avi cloud://xxx.xxx.xxx/xx.mp4

二、概念解释

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

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

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

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

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

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

三、主展示列详解

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

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

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

通过接口查询该数据模型结果如下:课程表字段实际存储的仍然是关联表的 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), 新增、更新方法的入参不包含自动编号类型字段,即不可新增或修改。

赞 (0)
上一篇 4天前
下一篇 4天前