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

Returning a document and its path in a hierarchy using RavenDB

我第一次使用 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 的文档(页面)以及 return slug 路径,即 a/b/c 基于文档在树中的位置。

我读到了 Indexing Hierarchical Data and Indexing Related Documents 但我正在努力将它们组合在一起。

有人可以帮我解决这个问题或为我指明正确的方向吗?

我从 ravendb google 群组论坛找到答案 here.