Я использую RavenDB впервые в качестве базы данных для веб-сайта. Я только начинаю и думаю о том, как представлять иерархию веб-страницы страницы в базе данных. Я прочитал эту статью Modelling hierarchical data with RavenDB, и она показывает действительно опрятный способ хранения иерархии в базе данных документов, и поэтому я работаю с этим дизайном.Возврат документа и его путь в иерархии с использованием 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 представляла дерево, и этот документ имеет идентификатор ссылки на фактические документы.
Итак, теперь на мой вопрос. Я хочу создать индекс, где я могу найти документ (страницу) на основе slug, но также вернуть путь slug i.e a/b/c на основе того, где документ живет в дереве.
Я читал около Indexing Hierarchical Data и Indexing Related Documents, но я пытаюсь свести их вместе.
Может ли кто-нибудь помочь мне с этим или указать мне в правильном направлении?
Просто попадались нагрузки, в том числе и работы с иерархическими данными в трансформаторах. Хм ... Интересно. – dezzy