- Data Models >
- Data Model Examples and Patterns >
- Model Tree Structures >
- Model Tree Structures with Child References
Model Tree Structures with Child References¶
Overview¶
This page describes a data model that describes a tree-like structure in MongoDB documents by storing references in the parent-nodes to children nodes.
Pattern¶
The Child References pattern stores each tree node in a document; in addition to the tree node, document stores in an array the id(s) of the node’s children.
Consider the following hierarchy of categories:
The following example models the tree using Child References, storing
the reference to the node’s children in the field children
:
The query to retrieve the immediate children of a node is fast and straightforward:
You can create an index on the field
children
to enable fast search by the child nodes:You can query for a node in the
children
field to find its parent node as well as its siblings:
The Child References pattern provides a suitable solution to tree storage as long as no operations on subtrees are necessary. This pattern may also provide a suitable solution for storing graphs where a node may have multiple parents.