Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Modele relaciones de muchos a muchos con documentos incrustados

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

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.

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.

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"
}
]
}

Volver

Referencias uno a muchos

En esta página