Originariamente pubblicato su mailing list Grails ...Grails MongoDB Plugin: Collezioni embedded vs Riferimenti
Io non sono in genere un tipo di database, ma con l'uscita del l'ultimo plugin MongoDB per graal, ho voluto vedere cosa il grosso problema è con i database noSQL. MongoDB sembra piuttosto interessante. Stavo leggendo le informazioni sul documento orientato stoccaggio e sono imbattuto nel seguente scenario:
cliente/Ordinare Ordinare Line/Articolo
Il dottore dice che gli ordini dovrebbero essere una raccolta. i clienti una collezione. gli elementi pubblicitari dovrebbero essere una serie di elementi di linea incorporati nell'oggettoorder.
Per quanto riguarda GORM, come viene garantito questo schema? Io tipicamente ho il seguente:
class Customer {
static hasMany = [orders: Order]
}
class Order {
static hasMany = [orderItems: OrderItem]
static belongsTo = [customer:Customer]
}
class OrderItem {
static belongsTo = [order:Order]
}
Come mi assicuro che gli ordini siano la propria raccolta e non incorporati nel cliente? Se questo è l'impostazione predefinita, come posso assicurarmi che OrderItem sia incorporato nell'ordine e non nella propria collezione? Qual è l'impostazione predefinita qui?
Grazie.
Ciao, questa risposta è utile, ma in realtà non risponde alla domanda - fornisce solo indicazioni su come trovare la risposta. In particolare, non sono ancora chiaro se cose come "hasMany" verrebbero usate in un contesto mongodb (sto indovinando non), e se no, allora come esattamente questo dovrebbe essere indicato nella classe di dominio in modo tale che le collezioni siano correttamente memorizzato in mongodb. Penso che se la domanda di Gregg ("Come faccio a garantire che gli ordini ... incorporati nell'ordine e non la propria collezione? Qual è l'impostazione predefinita qui?") Viene risposto esplicitamente, che servirebbe da buon esempio per imparare da. – mindthief
@mindthief: aggiorna la risposta per essere un po 'più esplicito nel rispondere alla domanda. Inoltre, credo che "hasMany" sia più un tipo di concetto di database relazionale, motivo per cui MongoDB non lo usa. – Pat
... Grazie Pat !! – mindthief