Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Modele relacionamentos de um para muitos com referências de documentos

Esta página descreve um modelo de dados que usa referências entre documentos para relacionamentos de um para muitos.

O exemplo a seguir mapeia os relacionamentos entre editoras e livros. Ele ilustra a vantagem da referência em relação à incorporação para evitar repetir as informações do editor.

A incorporação do documento da editora dentro do documento do livro repete os dados da editora, conforme mostrado no exemplo a seguir :

{
title: "MongoDB: The Definitive Guide",
author: [ "Kristina Chodorow", "Mike Dirolf" ],
published_date: ISODate("2010-09-24"),
pages: 216,
language: "English",
publisher: {
name: "O'Reilly Media",
founded: 1980,
location: "CA"
}
}
{
title: "50 Tips and Tricks for MongoDB Developer",
author: "Kristina Chodorow",
published_date: ISODate("2011-05-06"),
pages: 68,
language: "English",
publisher: {
name: "O'Reilly Media",
founded: 1980,
location: "CA"
}
}

Para evitar dados repetidos da editora, use referências e mantenha as informações da editora em uma coleção separada da coleção de livros.

O crescimento dos relacionamentos determina onde armazenar a referência. Se o número de livros por editora for pequeno com crescimento limitado, armazene a referência do livro dentro do documento do editor. Se o número de livros por editora for ilimitado, esse modelo de dados criará arrays mutáveis e crescentes, como no exemplo a seguir:

{
name: "O'Reilly Media",
founded: 1980,
location: "CA",
books: [123456789, 234567890, ...]
}
{
_id: 123456789,
title: "MongoDB: The Definitive Guide",
author: [ "Kristina Chodorow", "Mike Dirolf" ],
published_date: ISODate("2010-09-24"),
pages: 216,
language: "English"
}
{
_id: 234567890,
title: "50 Tips and Tricks for MongoDB Developer",
author: "Kristina Chodorow",
published_date: ISODate("2011-05-06"),
pages: 68,
language: "English"
}

Para evitar matrizes mutáveis e em crescimento, armazene a referência da editora dentro do documento do livro:

{
_id: "oreilly",
name: "O'Reilly Media",
founded: 1980,
location: "CA"
}
{
_id: 123456789,
title: "MongoDB: The Definitive Guide",
author: [ "Kristina Chodorow", "Mike Dirolf" ],
published_date: ISODate("2010-09-24"),
pages: 216,
language: "English",
publisher_id: "oreilly"
}
{
_id: 234567890,
title: "50 Tips and Tricks for MongoDB Developer",
author: "Kristina Chodorow",
published_date: ISODate("2011-05-06"),
pages: 68,
language: "English",
publisher_id: "oreilly"
}
Avalie esta página

Nesta página