Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Modele relaciones de muchos a muchos con documentos incrustados

Crea un modelo de datos que utilice 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 según 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"
}
]
}