sql >> Database >  >> NoSQL >> MongoDB

Hoe een recursieve structuur te bouwen met MongoDB

Persoonlijk zou ik hier een gematerialiseerde padenstructuur implementeren, het is heel gemakkelijk om bij te werken en te zoeken met vooraf ingestelde niet-hoofdlettergevoelige regexs (wat betekent dat het een index zal gebruiken), dus een voorbeeld zou er als volgt uitzien:

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

Dit zorgt er ook voor, zoals u kunt zien, dat SEO-vriendelijke URL's rechtstreeks op deze boom kunnen worden geraakt, waardoor u maximale kracht krijgt. Dit is met name handig in helpsystemen waar u een URL wilt weergeven, zoals:

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

Sinds how-to-use-my-site kan direct op het pad raken of zelfs verder kun je twee velden huisvesten en direct op de volledige tekst raken zoals:

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

Zoals het vorige antwoord al zei, moet je natuurlijk weten hoe je toegang wilt krijgen tot je inhoud, maar gematerialiseerde paden zijn naar mijn mening een goed begin.

U kunt hier meer lezen over boomstructuren in Mongo:http://www. mongodb.org/display/DOCS/Trees+in+MongoDB



  1. MongoDB C#-stuurprogramma 2.0:het resultaat van MapReduceAsync verkrijgen?

  2. PHP MongoDB werkt meerdere documenten bij met $in/$or

  3. PyMongo upsert gooit upsert moet een instantie van bool-fout zijn

  4. Waarom krijg ik deze verouderde waarschuwing?! MongoDB