RavenDb - 递归查询/索引,用于分层文档

时间:2010-12-17 13:45:51

标签: c# ravendb

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

假设我有一套分层文档。 它们包含的关于它们在层次结构中的位置的唯一信息 是他们的父母身份。如果它为null我们已经达到顶峰。

让父母和孩子轻松自如。

我想要做的是查询所有后代和祖先。 我想我必须解决这个问题。 1)将祖先送到文件是他们的任何方式 递归查询?获取父父级,直到父级为空。

2)他们以任何方式制作索引/投影,我们可以在其中进行映射 祖先ids到一个文件。然后查询祖先id或者 文件ID?因为如果我能得到那个索引就很容易说 通过祖先id获取所有文档,文档id等于 documentid我想让孩子们来。

让我说我有这种结构。

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

我希望索引看起来像这样

DocumentID
1.1
1.1.1
1.1.1
1.1.2
1.1.2
1.2
1.2.1
1.2.1

AncestorID 1
1
1.1
1
1.1
1
1.2

1 个答案:

答案 0 :(得分:3)

这在RavenDB邮件列表中有详细讨论:https://groups.google.com/d/topic/ravendb/ptBYL9A5PA8/discussion

我认为,所选择的解决方案涉及将完整的祖先放在每个文档中。