2017-01-27 5 views
0

J'utilise RavenDB pour la première fois en tant que base de données pour un site Web. Je commence juste à penser à la façon de représenter la hiérarchie du site Web dans la base de données. J'ai lu cet article Modelling hierarchical data with RavenDB et il montre une manière vraiment ordonnée de stocker une hiérarchie dans une base de données de document et par conséquent je cours avec cette conception.De retour d'un document et son chemin dans une hiérarchie à l'aide RavenDB

J'ai donc ma page le document

public class Page 
{ 
    public string Id { get; set; } 
    public string Slug { get; set; } 
} 

et mon document PagesHierarchy.

public class PagesHierarchyTree 
{ 
    public class Node 
    { 
     public string PageId { get; set; } 
     public List<Node> Children { get; set; } 
    } 

    public List<Node> RootPages { get; set; } 
} 

L'idée est que PagesHierarchyTree représente l'arborescence et que ce document contienne des références aux documents réels.

Donc, maintenant à ma question. Je veux créer un index où je peux trouver un document (page) basé sur le slug mais aussi retourner le chemin de slug i.e a/b/c basé sur où le document vit dans l'arbre. J'ai lu environ Indexing Hierarchical Data et Indexing Related Documents mais j'ai du mal à les réunir.

Quelqu'un peut-il me aider ou me diriger dans la bonne direction?

+0

Il suffit de venir à travers le chargement, y compris et le traitement des données hiérarchiques dans les transformateurs. Hmm .... Je me demande. – dezzy

Répondre

0

J'ai eu ma réponse du forum groupes Google RavenDB trouvé here.