Se debe crear un modelo de datos que use documentos incrustados para describir una relación de muchos a muchos entre datos conectados. Insertar datos conectados en un solo documento puede reducir la cantidad de operaciones de lectura necesarias para obtener datos. En general, estructura tu esquema de modo que tu aplicación reciba toda la información necesaria en una sola operación de lectura. Por ejemplo, puedes usar el modelo embebido de varios a varios para describir las siguientes relaciones:
Estudiantes a clases
Actores en las películas
De médicos a pacientes
Acerca de esta tarea
El siguiente esquema de ejemplo contiene información sobre book one
y book two y sus autores. Puedes representar la relación de manera diferente dependiendo de si anticipas que los usuarios de la aplicación consultarán por libro o por autor.
Si esperas que más usuarios hagan query por libro que por autor, el esquema de ejemplo es una elección eficaz. Sin embargo, si se esperan más consultas por autor, convierte al autor en la información principal y sitúa los libros del autor en un campo incrustado.
Ejemplo
Puedes usar una relación de muchos a muchos para describir libros y autores. Un libro puede tener varios autores y un autor puede guardar varios libros.
Patrón de Documento Incrustado
La aplicación necesita mostrar información de los objetos libro y autor en una sola página. Para permitir que tu aplicación recupere toda la información necesaria con una sola query, incluye la información del autor dentro del documento del libro correspondiente:
{ _id: "book001", title: "Cell Biology", authors: [ { author_id: "author124", name: "Ellie Smith" }, { author_id: "author381", name: "John Palmer" } ] } { _id: "book002", title: "Organic Chemistry", authors: [ { author_id: "author290", name: "Jane James" }, { author_id: "author381", name: "John Palmer" } ] }