目前nocobae正式迎来大的更新,官网目前在不断的完善使用手册,目前的更新中对于nocobase的几种数据表进行文档更新,这篇文章是我根据个人的理解进行的整理。
首先nocobase在目前版本中,有7种数据表类型,分别是:
普通表
这是最常用的数据表类型,预设的字段只有最基本的系统字段,适合存储大部分上的数据。
树表
这个表有两个特殊的字段,分别是父节点、子节点,父节点代表归属的数据行、子节点代表下级的数据行。
日历表
日历数据表模板是一种用于管理时间相关数据的数据模板,通常用于存储和管理事件、约会、任务等与日期/时间相关的信息。以下是日历数据表模板的预定义字段:
- 创建时间和结束时间:表示事件的开始和结束日期及时间。
- 创建者和更新者:列出事件的人员。
- 重复频率:定义事件的重复模式,如每天、每周、每月等。
通过日历数据表模板,可以方便地创建和管理与时间相关的信息,并支持日程安排、提醒和跟踪任务的进度。这种模板常用于个人日程管理、团队协作、会议安排等应用
文件表
文件表数据表模板通过 File manager 插件提供,支持自定义扩展文件存储类型,像一些比较特殊文件格式,可以通过这个数据表进行存储和管理。
表达式表
区别于数据表中针对全表统一的公式字段,动态表达式的可以针对每行数据进行不同公式的计算。动态表达式计算目前只在工作流中支持。
表达式模板表用于存储针对同一类数据不同的公式,与需要参与计算的数据表通常为一对多关系(普通数据表 belongsTo 表达式表):
m:1 只是通常的用法,但实际上普通数据表与表达式表的关系是可以任意建立的,一行数据对多个表达式通常还需要其他区分字段,或者是在循环中对一行数据做多种计算的场景。
表达式表三个字段的含义:
- 数据表:相当于函数的参数,在表达式中可用的变量字段来源,即只能基于一个数据表的字段进行计算配置;
- 计算引擎:目前可选 mathjs 和 formulajs,推荐使用 formulajs。
- 表达式:相当于函数的内容,计算时将根据配置执行得到一个结果。
Sql表
SQL collection 提供了一种通过 SQL 语句获取数据的方法。通过 SQL 语句获取数据字段,配置字段元数据之后,用户可以像使用普通表一样,给表格、图表、工作流等使用,适用于关联查询、统计等场景。
连接数据库视图
数据库视图是数据库中的虚拟表,它基于一个或多个数据库表的查询结果生成,具有与表相似的结构,但不存储实际数据。数据库视图允许用户以更简单、更抽象的方式访问和操作数据
将数据库中的视图与 Collection 连接是 NocoBase 提供的一种有效建表方式。通过在数据库中创建视图,可以在 Collection 管理中引用并映射为数据表,特别适用于统计场景。这种方式不仅提高了数据表的可维护性,在不同应用场景中还能灵活使用。
原创文章,作者:大壮同学,如若转载,请注明出处:https://www.lidazhuang.cn/jiaocheng/1831.html