Estruturas de árvore modelo com referências pai
Nesta página
Visão geral
Esta página descreve um modelo de dados que descreve uma estrutura semelhante à árvore nos documentos MongoDB armazenandoreferências do para nós "pais" em nós filhos.
Padrão
O padrão Referências pai armazena cada nó de árvore em um documento; além do nó de árvore, o documento armazena a ID do nó principal.
Considerar a seguinte hierarquia de categorias:
O exemplo a seguir modela a árvore usando referências principais, armazenando a referência à categoria principal no campo parent
:
db.categories.insertMany( [ { _id: "MongoDB", parent: "Databases" }, { _id: "dbm", parent: "Databases" }, { _id: "Databases", parent: "Programming" }, { _id: "Languages", parent: "Programming" }, { _id: "Programming", parent: "Books" }, { _id: "Books", parent: null } ] )
A query para recuperar o nó principal é rápida e direta:
db.categories.findOne( { _id: "MongoDB" } ).parent Você pode criar um índice no campo
parent
para habilitar a pesquisa rápida pelo nó pai:db.categories.createIndex( { parent: 1 } ) Você pode executar query pelo campo
parent
para localizar seus nós filhos imediatos:db.categories.find( { parent: "Databases" } ) Para recuperar subárvores, veja
$graphLookup
.