Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Estruturas de árvore modelo com referências infantis

Nesta página

  • Visão geral
  • Padrão

Esta página descreve um modelo de dados que descreve uma estrutura semelhante à árvore nos documentos MongoDB armazenando referências nos nós principais para nós secundários.

O padrão Referências Filho armazena cada nó de árvore em um documento. Além do nó de árvore, o documento armazena em uma matriz as IDs dos filhos do nó.

Considerar a seguinte hierarquia de categorias:

Modelo de dados em árvore para uma hierarquia de amostra de categorias.

O exemplo a seguir modela a árvore com Referências filho, armazenando a referência para os filhos do nó no campo children:

db.categories.insertMany( [
{ _id: "MongoDB", children: [] },
{ _id: "dbm", children: [] },
{ _id: "Databases", children: [ "MongoDB", "dbm" ] },
{ _id: "Languages", children: [] },
{ _id: "Programming", children: [ "Databases", "Languages" ] },
{ _id: "Books", children: [ "Programming" ] }
] )
  • A query para recuperar os filhos imediatos de um nó é rápida e direta:

    db.categories.findOne( { _id: "Databases" } ).children
  • Você pode criar um índice no campo children para habilitar a pesquisa rápida pelos nós filhos:

    db.categories.createIndex( { children: 1 } )
  • Você pode consultar um nó no campo children para localizar seu nó pai, bem como seus irmãos:

    db.categories.find( { children: "MongoDB" } )

O padrão Referências Filho fornece uma solução adequada para o armazenamento em árvores, desde que nenhuma operação em subárvores seja necessária. Esse padrão também pode fornecer uma solução adequada para armazenar gráficos onde um nó pode ter vários pais.

Voltar

Referências Principais

Nesta página