The original MongoDB implementation of the modulestore. Courses stored in this modulestore have course locators that are SlashSeparatedCourseKeys and serialize to this format:

edX/Demo_Course/2014_T1

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.