我正在将CSV导入到数据库中,试图想办法添加更多数据,而无需更改API(添加新字段)。
由于在客户端上使用JSON很多,我正在考虑将数据作为JSON字符串存储到MYSQL中。所以如果我有一个字段
image_filenames
我目前正在存储这样的数据:
img123.jpg
将多个图像存储在JSON数组中是有意义的,如下所示:
{"img_base":"img123.jpg", "img_alt_1":"img123-1.jpg", "img_alt_2":"img123-2" }
我可以反序列化服务器端,所以从JSON数组中获取我需要的图像并不是一个大问题,而它不会使API膨胀。
问题:
在使用JSON字符串导入CSV时,我找不到任何内容。这样做有什么好处和坏处?是否存在安全问题(SQL注入)?
谢谢!
答案 0 :(得分:1)
从评论转到此处:
如果您的数据模型方案发生变化或不一致,则关系数据库存储不是最佳选择。当然,你可以将它序列化并存储为二进制字符串,但为什么呢? IMO,我不是NoSQL的粉丝,但MongoDB看起来像你可能会使用的东西。它的文档方案是基于JSON的,如果你每天使用基于JSON的代码,你会很熟悉它。我用它来存储数据而不是关系数据库。
非关系型工作的工作量较少,因此在某些情况下工作速度更快。它们也没有方案,因此没有alter table
语句,因此您可以根据需要添加“列”。如果你没有关系并需要用JSON格式存储数据,但它可以搜索 - MongoDB会很棒。