使用RavenDB返回层次结构中的文档及其路径

时间:2017-01-27 09:41:56

标签: ravendb hierarchy

我第一次使用RavenDB作为网站的数据库。我刚刚开始考虑如何在数据库中表示页面网站层次结构。我读了这篇文章Modelling hierarchical data with RavenDB,它显示了一种在文档数据库中存储层次结构的非常简洁的方法,因此我正在使用这种设计。

所以我有我的页面文件

public class Page
{
    public string Id { get; set; }
    public string Slug { get; set; }
}

和我的PagesHierarchy文档。

public class PagesHierarchyTree
{
    public class Node
    {
        public string PageId { get; set; }
        public List<Node> Children { get; set; }
    }

    public List<Node> RootPages { get; set; }
}

我们的想法是让PagesHierarchyTree代表树,而且这个文档对实际文档有引用ID。

所以,现在回答我的问题。我想创建一个索引,我可以根据slug找到一个文档(页面),但也会根据文档在树中的位置返回段塞路径,即a / b / c。

我读到Indexing Hierarchical DataIndexing Related Documents,但我很难将它们组合在一起。

有人可以帮我解决这个问题,还是指出我正确的方向?

1 个答案:

答案 0 :(得分:0)

我从找到here.

的ravendb google群组论坛得到了答案