4

我知道这可能是一个有点愚蠢的问题,可能做错了,但我会问任何方式。

假设我有一组分层文档。它们包含的关于它们在层次结构中的位置的唯一信息是它们的父 ID。如果它为空,我们已经到达顶部。

得到父母和孩子是容易的部分。

我想要做的是查询所有的后代和祖先。我想我必须对这个问题作出部分回答。1)让祖先获取文档是他们进行递归查询的任何方式吗?获取父父级,直到父级为空。

2)他们是否有任何方法可以制作索引/投影,我们可以将祖先ID映射到文档。然后查询祖先id还是文档id?因为如果我能得到那个索引,就很容易说通过祖先 id 获取所有文档,因为文档 id 等于我想从中获取孩子的 documentid。

可以说我有这个结构。

文件 1
文件 1.1
文件 1.1.1
文件 1.1.2
文件 1.2
文件 1.2.1

我想要一个看起来像这样的索引

文档
ID 1.1
1.1.1
1.1.1
1.1.2
1.1.2
1.2
1.2.1
1.2.1

祖先ID 1
1
1.1
1
1.1
1
1.2

4

1 回答 1

4

RavenDB 邮件列表对此进行了详细讨论:https ://groups.google.com/d/topic/ravendb/ptBYL9A5PA8/discussion

我相信,选择的解决方案包括将完整的祖先放在每个文件中。

于 2011-08-11T14:37:02.620 回答