I'm trying to implement blog post storage using mongo db.
I've got two domain entities:
"Blog post" and "Author"
Currently I've added AuthorId property to blog post entity. Is that the right approach to store relation between objects?
I'm trying to implement blog post storage using mongo db.
I've got two domain entities:
"Blog post" and "Author"
Currently I've added AuthorId property to blog post entity. Is that the right approach to store relation between objects?
Currently I've added AuthorId property to blog post entity. Is that the right approach to store relation between objects?
I'd say no. You are "supposed" to store everything you need in a blog document in a denormalized way (e.g. the blog post, the comments, the tags, etc). So if you want to show the Author's name, you should add it to the blog document. This would allow to fetch an entire page's data with a single query, which is kinda the point of a document-oriented database.
I think this post will be right for you http://www.mongodb.org/display/DOCS/Schema+Design
Use Cases
Customer / Order / Order Line-Item
Orders should be a collection. customers a collection. line-items should be an array of line-items embedded in the order object.
Blogging system.
Posts should be a collection. post author might be a separate collection, or simply a field within posts if only an email address. comments should be embedded objects within a post for performance.
Schema Design Basics
Kyle Banker, 10gen
http://www.10gen.com/presentation/mongosf2011/schemabasics
Indexing & Query Optimization Alvin Richards, Senior Director of Enterprise Engineering
http://www.10gen.com/presentation/mongosf-2011/mongodb-indexing-query-optimization
**These 2 videos are the bests on mongoddb ever seen imho*