2011-01-18 3 views
8

J'essaie juste d'entrer dans mongo (, couch ou nosql en général), et j'ai commencé avec un bon vieux exemple de blog. D'après ce que j'ai lu sur la page mongo, les entités doivent être placées dans une collection séparée quand il y a un besoin d'accès direct, donc j'ai mis des commentaires et des utilisateurs dans la collection posts et j'ai une autre collection pour les catégories.Comment créer un schéma de manière mongo/nosql

Ma question est de savoir où placer les balises. J'ai vu dans quelques exemples, qu'il y avait placés dans la collection de poste, mais je ne suis pas sûr de savoir comment créer facilement une étiquette nuage puis

comme mentionné: cela est juste pour les besoins d'apprentissage ..

Merci! Harpax

Répondre

10

Vous pouvez stocker les balises dans votre document, puis exécutez une requête globale sur vos documents pour obtenir le nuage ...

Cependant, je pense que la meilleure idée serait d'exécuter une requête (sur un calendrier) pour construire votre nuage de tag comme son propre document ... de cette façon, vous pouvez simplement demander ce document pour construire votre liste (au lieu d'essayer de courir à la volée à chaque fois.)

Il y a un grand exemple de la façon de le faire here.

http://cookbook.mongodb.org/patterns/count_tags/

Exemple de document

{ 
    "title" : "A blog post", 
    "author" : "Kristina", 
    "content" : "...", 
    "tags" : ["MongoDB", "Map/Reduce", "Recipe"] 
} 

Exemple Nuage

{"_id" : "MongoDB", "value" : 4} 
{"_id" : "Map/Reduce", "value" : 2} 
{"_id" : "Recipe", "value" : 7} 
{"_id" : "Group", "value" : 1} 
+0

merci pour votre réponse et le lien .. – harpax

Questions connexes