最近要准备搞一个低代码平台,类似氚云、云枢那样,有一些问题

2020-06-23 10:44:29 +08:00
 kvkboy

它们是怎么做数据持久化的

比如在界面上设置了一个个人信息表单,有 name,age,sex 三个字段,表单设计完也就有了数据模型,我的问题就是这些数据是如何保存并使用的,是 mongodb 或 mysql ?

感觉这个产品天然的就不适合用 mysql,每个人的表单都有不一样的字段,用关系型数据库成本太高,表单创建完是要使用的,那这个表单的 curd 该如何落地,这个数据模型对应到代码里是什么样子,个人认为不是个具体对象,代码对这个模型内容应该是无感知的

7996 次点击
所在节点    程序员
58 条回复
majiaxin110
2020-06-23 10:49:07 +08:00
意思是说表单的字段变动频繁,用户可以自由创建表单,为表单添加删除任意字段是吗?
kvkboy
2020-06-23 10:51:47 +08:00
@majiaxin110 对的,v 站我不会发图片..可以看看氚云的文档 http://help.h3yun.com/#%E5%9F%BA%E7%A1%80%E6%8E%A7%E4%BB%B6
lonelymarried
2020-06-23 11:06:15 +08:00
这有点像 excel 啊。
我感觉还是一个表单对应一个表啊。
yannxia
2020-06-23 11:08:55 +08:00
题外话:一直觉得……这种东西就是 BPM,低代码感觉还是要生成代码的那种才像。
CrazyEight
2020-06-23 11:09:54 +08:00
我就是在做这种项目,用的就是 MySQL 。。
leoskey
2020-06-23 11:12:13 +08:00
关系型数据库使用 keyvalue 表形式存储配置,非关系型 redis 本身就是 keyvalue,mongodb 也很灵活
kvkboy
2020-06-23 11:15:52 +08:00
@CrazyEight 一个表单一个表吗....那你是怎么存的,动态创建类持久化到 mysql 吗
kvkboy
2020-06-23 11:18:59 +08:00
@lonelymarried 是有点像,大学生那种各种各样的问卷调查就是用这些平台比如 番茄表单 这样创建的,给他们一个平台,他们自己通过拖曳组件就可有创建相应的文本框、复选框。

一个表单对应一个表太重,而且不太好实现,表单是随时都能改变字段的,当然也可也制定规则创建了就不让改,主要难点还是这部分数据的 curd,如果是 mysql 创建表的话,表对应的持久化对象就不好弄...
kvkboy
2020-06-23 11:20:35 +08:00
@yannxia BPM 算个子集吧,包括了它,其实我都觉得就是无代码了.....通过组件排列组合给你来一个大学生意见调查表
lonelymarried
2020-06-23 11:36:39 +08:00
对,mongodb 比较适合这个
ss098
2020-06-23 11:49:32 +08:00
之前用 Alpaca.js ( jQuery )做过,数据库用 MySQL JSON 字段存储。

但 NoSQL 直接嵌套 BSON 存储会更好。
majiaxin110
2020-06-23 12:38:08 +08:00
那么应该考虑模型建立的时候对字段抽象,字段可以拥有表示类型的属性,或者采用继承关系表示多种字段。用户创建一个个性化表单则是多种字段的组合。也就是说,我觉得只要正确分析建模,底层数据库使用哪一种都是可以的。
mnssbe
2020-06-23 12:57:56 +08:00
数据库怎么用都没研究明白, 要做这个平台我看够呛
w7938940
2020-06-23 13:37:15 +08:00
tctc4869
2020-06-23 13:40:35 +08:00
楼主,低代码开发,要一步一步来,不要一口吃成一个胖子。

对于 Web 应用,先解决怎么低代码零代码开发后端,然后怎么做到兼顾低代码零代码开发的同时也能定制后端编码开发。

如果做到了 Web 后端低代码开发,再去考虑怎么低代码零代码开发前端。
tctc4869
2020-06-23 13:41:53 +08:00
@tctc4869 Web 应用低代码开发的关键就不是数据库的问题。
kvkboy
2020-06-23 13:45:18 +08:00
@tctc4869 你说的很对,确实是这样的,现在我也是刚进入这个需求中,在了解原理和探索一些设计中,试用了氚云和云枢后,我就在想如果要实现这个怎么搞,然后就有个疑问,想知道他们是怎么做到数据的建模和 curd 的
kvkboy
2020-06-23 13:48:11 +08:00
@tctc4869 国内的低代码平台,不管怎么说都是新建应用,表单设计,数据建模开始,我不是想探讨哪个关键不关键,就是单纯的疑问他们是怎么做的,如果是我该怎么实现,这么一想下去,就会发现,数据这块是绕不开的,怎么 curd,结构是咋样
davidsu1314
2020-06-23 13:53:05 +08:00
这种场景 mongodb 比较适合吧
SakuraKuma
2020-06-23 13:59:13 +08:00
```json
{
componentType:
fields:[{
id:
val:
label:
}]
}
```

数据库用啥都行了,提交的时候根据 id 做 field name 处理就好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/684010

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX