2010-06-27 20 views
8

Sto cercando di implementare il post di archiviazione del blog utilizzando mongo db.Mongo DB relazioni tra gli oggetti

Ho due entità del dominio:

"post" e "Autore"

proprietà Attualmente ho aggiunto AuthorID a blog un'entità posta. È questo il giusto approccio per memorizzare la relazione tra gli oggetti?

risposta

9

Attualmente ho aggiunto la proprietà AuthorId all'entità del post del blog. È questo il giusto approccio per memorizzare la relazione tra gli oggetti?

Direi di no. Si suppone di "archiviare tutto ciò di cui si ha bisogno in un documento del blog in un modo denormalizzato (ad esempio il post del blog, i commenti, i tag, ecc.). Quindi se vuoi mostrare il nome dell'autore, devi aggiungerlo al documento del blog. Ciò consentirebbe di recuperare i dati di un'intera pagina con una singola query, che è il punto di un database orientato ai documenti.

+6

ridenominazione di un utente diventa una chiamata molto costoso! – Blankman

+2

@Blankman: vero. Tuttavia, penso che la filosofia del db orientato al documento sia quella di recuperare un intero documento in una query.E a proposito, qual è il rapporto tra [rinominare un utente]/[mostrare un post del blog]? Penso che sia ** molto ** basso. –

+0

@Blankman, puoi farlo asincrono e gli aggiornamenti sono molto veloci in MongoDB perché MongoDB ha aggiornamento in loco. Puoi anche indicizzare i post del blog su authorid. – TTT

19

penso che questo post sarà giusto per voi http://www.mongodb.org/display/DOCS/Schema+Design

casi d'uso

clienti/ordine/riga di ordine-Item

ordini dovrebbero essere una collezione. i clienti una collezione. gli elementi pubblicitari dovrebbero essere una serie di elementi di linea incorporati nell'oggetto ordine.

Sistema di blogging.

I post devono essere una raccolta. l'autore del post potrebbe essere una raccolta separata o semplicemente un campo all'interno di post, se solo un indirizzo email. i commenti dovrebbero essere oggetti incorporati all'interno di un post per le prestazioni.

Basics

Schema di disegno

Kyle Banker, 10gen

http://www.10gen.com/presentation/mongosf2011/schemabasics

indicizzazione & ottimizzazione Query Alvin Richards, Terza Dir ettore di Enterprise Engineering

http://www.10gen.com/presentation/mongosf-2011/mongodb-indexing-query-optimization

** Questi 2 video sono i bests su mongoddb mai visto imho *

+0

grazie per i collegamenti video! davvero utile per passare da DB relazionali a noSQL. –