使用 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.
我第一次使用 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.