Graph Lookup in MongoDB 3.3
Specialized graph databases such as Neo4J specialize in traversing graphs of relationships – such as those you might find in a social network. Many non-graph databases have been incorporating Graph Compute Engines to perform similar tasks. In the MongoDB 3.3 release, we now have the ability to perform simple graph traversal using the $graphLookup aggregation framework function. This will become a production feature in the 3.4 release.
The new feature is documented in MongoDB Jira SERVER-23725. The basic syntax is shown here:
1: {$graphLookup:
2: from: <name of collection to look up into>,
3: startWith: <expression>,
4: connectFromField: <name of field in document from “from”>,
5: connectToField: <name of field in document from “from”>,
6: as: <name of field in output document>,
7: maxDepth: <optional - non-negative integer>,
8: depthField: <optional - name of field in output
9: documents>
10: }
Please go to https://medium.com/dbkoda/optimising-graph-lookups-in-mongodb-49483afb55c8 to read the rest of this article (updated for MongoDB 3.6)