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

使用RavenDB返回层次结构中的文档及其路径,ravendb,hierarchy,Ravendb,Hierarchy,我第一次使用RavenDB作为网站的数据库。我刚刚开始思考如何在数据库中表示页面网站层次结构。我读了这篇文章,它展示了一种在文档数据库中存储层次结构的非常简洁的方法,因此我使用了这种设计 所以我有我的页面文档 public class Page { public string Id { get; set; } public string Slug { get; set; } } 还有我的PagesHierarchy文档 public class PagesHierarchyTr

我第一次使用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
{
公共类节点
{
公共字符串PageId{get;set;}
公共列表子项{get;set;}
}
公共列表根页{get;set;}
}
其思想是让PagesHierarchyTree表示树,并且此文档具有实际文档的引用id

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

我读到了很多,但我正在努力把它们结合起来


有人能帮我吗,或者给我指出正确的方向

我从ravendb google groups论坛上得到了我的答案,该论坛发现

只是遇到了加载,包括和处理变压器中的分层数据。嗯……我想知道。