2011-11-15 5 views
1

Donc j'essaye actuellement de faire un projet en utilisant ravendb. Et certains mouvements basiques de défis relationnels à document apparaissent.Concevoir des documents pour mon ravendb nosql

J'ai lu http://ayende.com/blog/4466/that-no-sql-thing-modeling-documents-in-a-document-database et est toujours. En regardant le poste et les catégories, comment pourrais-je afficher les catégories s'il n'y a pas de messages? Je ne fais pas de blog, mais j'ai besoin de l'utilisateur pour entrer des données, et certaines d'entre elles sont des options comme des catégories ... dont je suis en contrôle.

Répondre

2

Créez un document distinct utilisé pour définir toutes les catégories.

Les catégories choisies pour une publication n'ont pas besoin d'avoir de référence au document de définition de catégorie. Ils sont après tout juste des catégories.

+1

Eh bien ce serait ce que je ferais typiquement "relationnel", mais est-ce la mauvaise façon de penser les documents? Mais comment pourrais-je les obtenir? Hardcoded où, alors pourquoi pas dans la DB. Je sais qu'après la persistance du document qui doit utiliser les catégories, il n'y a pas de «relation» physique entre les deux. –

+1

Bien regardant les données d'échantillon à l'intérieur de Ravendb album/genre, il existe un document définissant genre, donc après tout, vous pourriez avoir raison .... –

+1

La différence est que vous n'avez pas une table PostTags (juste une chaîne de caractères [ ] Tags 'dans le document 'Post' Tous les agrégats enfants qui n'ont pas de références externes doivent être dans l'agrégat racine (' OrderLines' sont dans 'Order') Ce post est vraiment génial: http://codeofrob.com /archive/2010/12/21/ravendb-document-design-with-collections.aspx – jgauffin

Questions connexes