2017-01-27 16 views
0

Я использую 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, но я пытаюсь свести их вместе.

Может ли кто-нибудь помочь мне с этим или указать мне в правильном направлении?

+0

Просто попадались нагрузки, в том числе и работы с иерархическими данными в трансформаторах. Хм ... Интересно. – dezzy

ответ

0

Я получил ответ от форума ravendb Google групп найдено here.