Cree un modelo de datos que utilice Documentos incrustados para describir una relación de muchos a muchos entre datos conectados. Incrustar datos conectados en un solo documento puede reducir el número de operaciones de lectura necesarias para obtenerlos. En general, estructure su esquema de modo que su aplicación reciba toda la información necesaria en una sola operación de lectura. Por ejemplo, puede usar el modelo incrustado de muchos a muchos para describir las siguientes relaciones:
Estudiantes a clases
Actores de 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" } ] }