Tenía curiosidad sobre cómo el complemento MongoDB para Grails manejaría las relaciones. Con el fin de probar esto me hizo una aplicación muy sencilla con dos clases de dominio:MongoDB, Grails y relaciones
Author
s tienen dos campos: String firstName
y String lastName
Book
s tener dos campos: String title
y Author author
Después de configurar MongoDB y Grails hice algunos Author
sy Book
y eché un vistazo utilizando el shell interactivo MongoDB. Lo que encontré es que las relaciones se manejaban de la misma manera que se manejarían en una base de datos relacional: referencias a los campos de identificación de otros objetos.
Así que ahora para las preguntas:
- Para que GORM para sacar esto adelante, ¿necesita una conexión separada para recuperar cada documento?
- En caso afirmativo, ¿no sería mejor en una base de datos relacional como PostgreSQL o MySQL?
- Si la respuesta a las dos preguntas anteriores es 'sí', ¿existe una forma mejor de administrar las relaciones en una base de datos de documentos como MongoDB? Me doy cuenta de que se supone que MongoDB no es relacional, pero hay algunas cosas que no veo cómo evitar las relaciones sin duplicar los datos (haciendo pesadillas de actualización).
Editar: Asimismo, sólo se dio cuenta de que griales no está clasificando correctamente en la propiedad 'id' de mis autores. ¿Tiene esto que ver con usar MongoDB? En el shell puedo ver que la propiedad _id de todos los documentos elaborados por Grails es del tipo de datos NumberLong
.