Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Modele relaciones de muchos a muchos con documentos incrustados

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

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