The original MongoDB implementation of the modulestore.

Course Format in MongoDB

The Code

Query Patterns

To render the courseware page, the Old Mongo modulestore loads the root node and two block levels deep. It grabs all of the block's display names and uses those to render the table of contents.

When displaying a section, it will grab an entire subtree of the course corresponding to that section. Each block retrieval is a single MongoDB request.