有这么一个场景
用户可以在网站中生成自定义的表单
比如
姓名、联系方式、年龄
均为自定义内容且个数不限
现在有这么一个问题
数据库中如何存储这些字段?
提取数据的时候如何按照某个字段进行排序?
有这么一个场景
用户可以在网站中生成自定义的表单
比如
姓名、联系方式、年龄
均为自定义内容且个数不限
现在有这么一个问题
数据库中如何存储这些字段?
提取数据的时候如何按照某个字段进行排序?
要看你的用户能够插入那些内容,比如你说的均为自定义内容且个数不限,这就可能存在问题,如果自定义表单,你根据什么给表单的加name
。
所以还是要看,是否是真的完全自定义,连表单的name都是自定义的。
还是在有限的表单内选择一些表单填写。
还是有限的表单内选择一些表单填写,但是整体可重复。比如添加联系人这种操作,可能添加好几个,联系人的信息也可能有的填写有的不填写。
这几种情况是不一样的。
最好的方式我觉得可以进行数据的格式化,比如抽成json字符串存储。
4 回答1.2k 阅读✓ 已解决
8 回答1.2k 阅读
3 回答1k 阅读✓ 已解决
2 回答1.7k 阅读
1 回答845 阅读✓ 已解决
2 回答1.2k 阅读
2 回答1k 阅读
如果你使用的是mongodb,那么是可以自定义内容的,mongodb数据库,不限制每条记录的字段个数,然后同样支持按照某个,某几个字段聚合、查询、排序等操作。
如果使用的是mysql、postgreSQL等关系型数据库,那么做到支持自定义内容而且个数不限不难做到。将这些自定义内容当做一个json对象,转成字符串之后,赋值给数据库表的一个字段即可。例如
json数据的序列化和反序列化,所有的语言包括python,java、nodejs等支持都是非常好的。
不过,根据字段排序,就很难做了,需要加载到内存中,构造出原来的对象,才可以做到。不能像mongodb一样,使用数据库查询语言就能做到。