![]() |
1
58
调用当前使用的方法 adjacency list model . 在(关系)数据库中存储分层数据的另一个模型是 nested set model . 它的 implementation in SQL databases is well known . 也看到 this article for the modified preorder tree traversal algorithm . 一个非常简单的方法:您可以为每个对象存储一个路径—使用这些路径,可以很容易地在NoSQL数据库中查询树:
删除或重命名节点时,必须更新某些路径。但总的来说,这种方法看起来很有前途。您只需要保留一个特殊字符作为分隔符。存储空间开销应该可以忽略不计。 编辑:此方法被调用 materialized path 最后,这里是 a comparison of different methods for hierarchical data in NOSQL databases . |
![]() |
2
1
我没有太多的NoSQL经验,所以这不是一个确定的答案,但下面是我将如何处理它: 我可能会使用您的第一种方法,其中您有:
然后设置一个map reduce来快速查询一个目录的子目录。MongoDB的map reduce功能只在开发分支中可用,我还没有使用过,但是在CouchDB中(我假设,经过一些修改,在MongoDB中),您可以执行如下操作:
这将为您提供每个父目录的子目录列表。 |
![]() |
3
-1
我建议将堆存储到数据项的ID中。 我认为这是最好的计划。如果您需要很多东西,任何堆元素都可以是另一个堆的索引。 如
如果这不清楚,发表评论,我回家后会解释更多。 |
![]() |
4
-3
|
![]() |
324 · 是否可以在某个数字下查找字典值的键? 2 年前 |
![]() |
R1ZZ · 具有属性的KeyValuePair可为空问题 2 年前 |
![]() |
Codr4Life · 在python中计算员工字典数据库中的值 6 年前 |
![]() |
Jonathan Mee · 多重映射的每个元素是否同时包含键和值? 6 年前 |
![]() |
kales · PHP:数组中作为键的值之一 6 年前 |
![]() |
Kenta · 使用键-值对解析字符串,其中键和值c之间没有字符# 6 年前 |
|
Gerdi77 · 如何在多维关联数组中编辑键/值对? 6 年前 |
![]() |
Will · 如何在python中以键值对的形式打印数组? 7 年前 |
![]() |
Shuvayan Das · 从数据帧的列创建python字典 7 年前 |