我想保留一个嵌套组的数据库(例如,公司层次结构:经理管理员管理其他管理员工的经理......)
如何将此结构表示为JSON?
{
"mamanger1": {
"sub_manager1": {
...
},
"sub_manager2": {
...
}
}
}
{
"name": "mamanger1",
"employees": [
{
"name": "sub_manager1",
"employees": [ ... ]
},
{
"name": "sub_manager2",
"employees": [ ... ]
},
]
}
在第一个示例中,每个经理都有一个唯一的密钥(搜索效果更好?)
在第二个示例中,所有对象都有保存键(更容易循环?)
答案 0 :(得分:0)
在我看来,你应该使用第二种方法:
作用:
当您要求提供有关名称为“xyz”的经理/经理的详细信息时,搜索过程如下:
另外,按照我的说法,第一种方法是创建与经理人数一样多的关键。考虑到节点数量有限,如果您尝试将“xyz”的详细信息作为密钥,则将扫描一个节点。
如果您在同一查询中搜索“xyz”和“xyz1”,您将在方法2中获得更好的性能。由于字符串值彼此接近,您可以在同一节点(大多数情况下)获取它。但是,在第一种方法中,在同一节点上获取它的可能性较小,因为两者都不在一起被视为邻居。