所以我有了一个应用程序和一个非常烦人的客户端,他们经常改变主意,所以我决定将一些数据存储为JSON对象。
我有一个匹配系统,在这个系统中,我将用户注册d存储为他们的用户I数组的JSON对象版本。
我希望显示用户已经注册为筛选器选项之一的所有匹配项,因此基本上需要查看该用户的id是否存储在文本类型数据对象中。
我能想到的两种方法是:
in_array来查看它们是否在匹配中(我没有这样做)。LIKE查询来搜索JSON文本中的"userid“(这就是我所做的)。有更好的方法来做这样的事吗?就像MySQL有一个更好的内置功能吗?
发布于 2011-11-18 15:47:27
尝试将用户数据存储在关系数据库(如MySQL)中的JSON对象中是错误的。您的数据库不是面向对象的,而是关系型的。遵循关系数据库的规则将很好地服务于您。最好是构建一个良好的数据库(DB)结构,并执行准确的MySQL查询。
如果您至少将DB保存在第三范式中,您会发现当客户端更改他们的想法时,您可以添加和更改用户属性(再次.然后再一次..。再一次.)因为较少的数据将保存在给定的表中,所以您可以添加和修改小表,而不会产生系统范围的巨大影响。
DB中的另一个选项是根据id、name和value创建具有各种属性的表。
https://stackoverflow.com/questions/8184831
复制相似问题