Storing JS arrays and objects in a database

2019-07-05 14:50发布

I have an application that lets users build things in JS. I want the user to be able to save the current state of his work to reuse it or share it, but what he has is a collection of JS objects stored in a JS array, with very different properties (color, label, x/y position, size, etc.).

SQL seems terrible for that particular task, forcing me to maintain tables for every different object, and alas I know very little about NoSQL database. What tools would you use to perform this ? MongoDB sounds promising but before I learn a whole new DB paradigm I want to be sure that I am heading in the right direction.

3条回答
Viruses.
2楼-- · 2019-07-05 15:18

What's on the server?

Most languages have mature JSON implementations that convert JavaScript objects to native types, which you can then easily store in a SQL database.

查看更多
Root(大扎)
3楼-- · 2019-07-05 15:22

Object to string:

You can store your objects in the DB as a JSON string. Here's a simple example:

var foo = new Object();
foo.Name = "James";
foo.Gender = "Male";

//Result: {"Name":"James","Gender":"Male"}
var stringRepresentation = window.JSON.stringify(foo);

Here's a working fiddle.

String to object:

To convert your string back to an object, simply call window.JSON.parse():

var myObject = window.JSON.parse(stringRepresentation);

Here's a working fiddle.

查看更多
Rolldiameter
4楼-- · 2019-07-05 15:38

If you have no interest in quering the objects for their various properties but only persist them to save state, you can serialize the entire array to JSON and store it in any db you like as one string.

查看更多
登录 后发表回答