Javascript 如何将JSON数据插入父子表
我有一个MySQL表,其结构如下Javascript 如何将JSON数据插入父子表,javascript,mysql,node.js,Javascript,Mysql,Node.js,我有一个MySQL表,其结构如下 +------------------+------------------+----------------+ | comp_id | name | parent | |------------------|------------------|----------------+ | 1 | comp1 | NULL | +----
+------------------+------------------+----------------+
| comp_id | name | parent |
|------------------|------------------|----------------+
| 1 | comp1 | NULL |
+------------------+------------------+----------------+
| 2 | comp2 | 1 |
+------------------+------------------+----------------+
| 3 | comp3 | 2 |
+------------------+------------------+----------------+
| 4 | comp4 | 2 |
+------------------+------------------+----------------+
假设没有数据插入到表中。换句话说,假设表是空的,我应该如何进行以下操作:
{
“组织名称”:“天堂岛”,
“女儿”:[
{
“组织名称”:“香蕉树”,
“女儿”:[
{“组织名称”:“黄香蕉”},
{“组织名称”:“棕色香蕉”}
]
},
{
“组织名称”:“大香蕉树”,
“女儿”:[
{“组织名称”:“绿香蕉”},
{“组织名称”:“黄香蕉”},
{
“组织名称”:“黑香蕉”,
“女儿”:[
{“组织名称”:“红蜘蛛”}
]
}
]
}
]
}
我已经研究了大量关于邻接列表模型和嵌套模型的资源,但没有一个详细介绍如何通过JSON输入进行插入如果使用uuidv4作为id对您合适,您可以使用递归函数规范化您的对象,添加uuid作为id并构建父关系。 之后,您只需使用正在使用的任何数据库客户端批量插入数据 这是UUIDV4的理想用例。这是不太可能的,所以你可以认为它是安全的。 您只需确保uuid生成器足够随机。糟糕的实现可能会导致更高的冲突概率 我建议使用这个软件包。您可以在github上查找它的源代码。它使用节点加密库作为随机数据生成器,根据 很高兴知道: MongoDB的ObjectId是在一个数据库中创建的。它们也不能提供100%的防碰撞安全性。但是他们不太可能认为这个机会是不相关的。
编辑:我假设您的代码在node.js中运行服务器端。在浏览器中生成uuid是不安全的,因为加密api仍然是实验性的,用户可能会故意造成冲突。您真的想存储此JSON数据,还是希望JavaScript为您生成JSON对象?谢谢@TimBiegeleisen,我真的想存储JSON数据。JSON数据将通过REST端点发送。通常,据我所见,您的UI/服务器将生成此JSON(可能是动态生成的),然后发送。@TimBiegeleisen。但是,为了进入上面的数据库表,它必须以平坦的方式构造。这正是我需要帮助的地方。@ippi更改数据库不是一个选项。很多。这很有说服力。我会尝试一下,然后重新考虑我的想法