【发布时间】:2012-05-19 09:00:15
【问题描述】:
所以在 javascript 中我有一个看起来像这样的数组:
[{x1:0,x2:2000,y:300},{x1:50,x2:250,y:500}]
我想将它存储在我的数据库中的单个字段中。我考虑过以某种方式将其设为字符串,然后将其保存为文本,但我真的不知道一种非常有效且“智能”的方式来做到这一点。我也听说过 VARBINARY 字段类型,但我不知道如何将对象/数组写入其中之一以及如何将其读出...
如果它会自动被读取为数组,我最喜欢的是。我的 MYSQL 插件(或者在 js 中调用的插件)将我的查询作为对象数组返回:
[{id:0,bla:"text"},{id:0,bla:"text"}]
对于具有列 id 和 bla 的表中的查询。
假设我的数组存储在 bla 中,我希望我得到的对象在返回时看起来与此完全一样(但是,如果这不可能,我可以使用替代解决方案)。
[{id:0,bla:[{x1:0,x2:2000,y:300},{x1:50,x2:250,y:500}]},{id:0,bla:[ {x1:0,x2:2000,y:300},{x1:50,x2:250,y:500}]}]
所以基本上我会得到一个包含两个对象的数组,每个对象都有属性 bla 和 id,其中 bla 是具有属性 x1、x2 和 y 的对象数组。
【问题讨论】:
-
这取决于你想对数据库中的值做什么。如果您不想查询该字段,您可以将数组转换为 JSON 并将其存储为文本。但是,如果您想对数据进行查询,请在表中创建适当的字段。
-
为什么不能像存储 JSON 那样只存储数组?
-
你要找的是JSON
-
你为什么不看看没有数据库的网络存储。 relationalcloud.com/index.php?title=Database_as_a_Service
标签: javascript mysql arrays object