Modele relacionamentos "many-to-many" com documentos incorporados
Crie um modelo de dados que use documentosincorporados para descrever um relacionamento de muitos para muitos entre dados conectados. A incorporação de dados conectados em um único documento pode reduzir o número de operações de leitura necessárias para obter dados. Em geral, estruture seu esquema para seu aplicação receber todas as informações necessárias em uma única operação de leitura. Por exemplo, você pode usar o modelo de muitos para muitos incorporado para descrever as seguintes relações:
Alunos para as aulas
Atores para filmes
Medicos a pacientes
Sobre esta tarefa
O seguinte esquema de exemplo contém informações sobre book one
e book two
e seus autores. Você pode representar o relacionamento de forma diferente dependendo se você espera que os usuários do aplicativo consultem por livro ou por autor.
Se você espera que mais usuários consultem por livro do que por autor, o esquema de exemplo é uma escolha eficaz. No entanto, se você espera mais consultas por autor, torne o autor a informação de nível superior e coloque os livros do autor em um campo incorporado.
Exemplo
Você pode usar um relacionamento de muitos para muitos para descrever livros e autores. Um livro pode ter vários autores e um autor pode escrever vários livros.
Padrão de documento incorporado
O aplicação precisa exibir informações do livro e dos objetos de autor em uma única página. Para permitir que seu aplicação recupere todas as informações necessárias com uma única query, incorpore informações do autor dentro do documento do livro correspondente :
{ _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" } ] }