我可以在mySQL数据库中存储JavaScript对象吗?
Can I store a JavaScript Object in a mySQL database?
我正在从网页访问者那里收集数据并将其放入我创建的JavaScript对象中。 但后来我希望能够引用他们输入的数据。
我可以访问 MySQL 数据库,那么有没有办法将此对象存储在那里?
我想尝试将其保留为对象格式,而不是将其分解为单独的部分。
在数据库中存储对象的JSON.stringified
版本,然后在需要再次返回对象时JSON.parse
它。它看起来像这样:
var myObj = {some: data, other: stuff};
var myObjString = JSON.stringify(myObj);
// store string in mySQL database here
// load string from database
var myJSONString = //mySQL database call
var myLoadedObj = JSON.parse(myJSONString);
不,你不能,至少不能。
您也许能够将其序列化为字符串。如果它完全由数组、简单对象和 JSON 格式支持的其他数据类型组成(如果它是用户提供的数据(主要例外是上传二进制文件,则可能会这样做),那么您可以使用 JSON 序列化程序来执行此操作。现代浏览器为此目的提供了 JSON 对象,而 json2.js 将为旧版浏览器填充代码。然后,可以将字符串存储在数据库中。
不过,不将其分解为单独的部分确实会抛弃使用关系数据库的许多优点(即关系和执行有用搜索的能力)。
只需将其作为 JSON 对象存储在使用 varchar 或文本数据类型的字段中即可。
看看 JSON。 您可以使用类似jQuery的东西来序列化表单数据并将其发送到服务器。 您也可以只使用普通的旧表单,并在服务器端处理输入。
是的,实际上可以做到。
con.connect(function(err){
var sql = "INSERT INTO books SET ?"; //books -- <tablename>
if(err) console.dir("Error: "+err.message);
var values = {
"bname": "Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future",
"author": "Elon Musk",
"genre": "Technology",
"bookcount": "5"
};
con.query(sql, [values], function(err, result){
if (err) throw err;
else console.dir("Successfully inserted the row in table.");
console.log(result);
});
});
但是,与此同时,您必须满足这些要点,
-
value
应该是对象,即value={ "name":"property" }
- 它不应该是一个数组,即
values = [{}, {}]
- Imp. - 它不应该有主 id 列。
希望对您有所帮助。
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值