MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment construire une structure récursive avec MongoDB

Personnellement, j'implémenterais une structure de chemins matérialisés ici, il est très facile de mettre à jour et d'interroger à l'aide de regex préfixées sans insensibilité à la casse (ce qui signifie qu'il utilisera un index), donc un exemple ressemblerait à :

{_id: {}, path: 'about_us/where_are_we'}

Comme vous pouvez le voir, cela permet également aux URL optimisées pour le référencement de frapper directement sur cet arbre, ce qui vous donne un maximum de puissance. Ceci est particulièrement utile dans les systèmes d'aide où vous aimez afficher une URL comme :

/help/how-to-use-my-site

Depuis how-to-use-my-site pouvez frapper directement sur le chemin ou même plus vous pouvez loger deux champs et frapper directement sur le texte intégral comme :

{_id: {}, path: 'about_us/where_are_we', normalised_url: 'where_are_we'}

Bien sûr, comme la réponse précédente l'a dit, vous devez savoir comment vous souhaitez accéder à votre contenu, mais les chemins matérialisés sont un bon début à mon avis.

Vous pouvez en savoir plus sur les structures arborescentes dans Mongo ici :http://www. mongodb.org/display/DOCS/Trees+in+MongoDB