我有一个使用MySQL的数据库,称为“用户”。 其中有两个表。 “第一”和“第二”。
我使用JavaScript从表单中获取用户信息 作为对象数组。
例如let usersInformation = [{"name":"james", "age":"30"}]
如何轻松存储每个对象数组?
过去,我创建了列,例如“名称”,然后将“名称”的值存储在该列中。
有没有一种方法可以将对象存储在MySQL数据库中。 我查询了ORM这个词,并认为这可能有所帮助。
答案 0 :(得分:1)
在将对象发送到查询之前,请将其转换为json
。如果需要,可以将表字段设置为MEDIUM TEXT
let usersInformation = [{"name":"james", "age":"30"}];
usersInformation = JSON.stringify(usersInformation);
然后将其发送给您的查询。
答案 1 :(得分:0)
您可以使用MySQL的JSON数据类型。
mysql> create database user;
mysql> use user
# Create a table with a json data type
mysql> create table user (json JSON);
# Insert an array into the field
mysql> insert into user(json) values ('["first", "second", "third", "4th"]');
# Insert an object
mysql> insert into user(json) values('{"name": "Levi", "last": "Jr"}');
mysql> select * from user;
+-------------------------------------+
| json |
+-------------------------------------+
| ["first", "second", "third", "4th"] |
| {"last": "Jr", "name": "Levi"} |
+-------------------------------------+
2 rows in set (0.00 sec)
您可以使用JSON_EXTRACT
从字段中获取一些信息,并在WHERE子句中对其进行过滤。
这里是使用方法:JSON_EXTRACT([field], [expression]))
,[表达式]是您要如何从字段中提取信息。
例如:
mysql> select * from user where JSON_EXTRACT(user.json, '$.name') = 'Levi';
+--------------------------------+
| json |
+--------------------------------+
| {"last": "Jr", "name": "Levi"} |
+--------------------------------+
1 row in set (0.00 sec)
mysql> select * from user where JSON_EXTRACT(user.json, '$[0]') = 'first';
+-------------------------------------+
| json |
+-------------------------------------+
| ["first", "second", "third", "4th"] |
+-------------------------------------+
1 row in set (0.00 sec)