Ero curioso di sapere come il plugin MongoDB per Grails gestisse le relazioni. Al fine di testare questo ho fatto una semplice applicazione con due classi di dominio:MongoDB, Grails e relazioni
Author
s hanno due campi: String firstName
e String lastName
Book
s avere due campi: String title
e Author author
Dopo aver configurato MongoDB e Grails Ho creato alcuni Author
se Book
e ho dato una sbirciatina usando la shell interattiva di MongoDB. Quello che ho trovato è che le relazioni venivano gestite nello stesso modo in cui sarebbero state gestite in un database relazionale: i riferimenti ai campi ID di altri oggetti.
Così ora per le domande:
- Affinché GORM per tirare fuori questo, ne ha bisogno una connessione separata per recuperare ogni documento?
- Se sì, non sarebbe meglio in un database relazionale come PostgreSQL o MySQL?
- Se la risposta alle due domande precedenti è effettivamente "sì", esiste un modo migliore per gestire le relazioni in un database di documenti come MongoDB? Mi rendo conto che MongoDB non dovrebbe essere relazionale, ma ci sono alcune cose che non vedo come aggirare le relazioni senza duplicare i dati (rendendo così l'aggiornamento degli incubi).
Edit: Ho anche appena notato che graal non è l'ordinamento correttamente sul 'id' di proprietà dei miei autori. Ha a che fare con l'utilizzo di MongoDB? Nella shell posso vedere che la proprietà _id di tutti i documenti creati da Grails è del tipo di dati NumberLong
.