Specifications related to MongoDB


MongoDB Specifications

This repository holds in progress and completed specification for features of MongoDB, Drivers, and associated products. Also contained is a rudimentary system for producing these documents.

Writing Documents

Write documents using reStructuredText, following the MongoDB Documentation Style Guidelines.

Store all source documents in the source/ directory.

Building Documents

To build documents issue the make command in a local copy of this repository. The output PDFs end up in the build/ directory. The build depends on:

make all will build all documents in the source/ folder. The system builds all targets in build/.

Run make setup to generate (or regenerate) a makefile.generated file which provides specific targets for all files in the source file so you can choose to compile only some of the files that you need. Once generated, running "make [file-name-without-extension]" will rebuild only those files (if needed.)

Use make clean to remove the build/ directory and "make cleanup" to remove the LaTeX by-products from build/.

Converting to JSON

There are many YAML to JSON converters. There are even several converters called yaml2json in NPM. Alas, we are not using yaml2json anymore, but instead the js-yaml package. Use only that converter, so that JSON is formatted consistently.

Run npm install -g js-yaml, then run make in the source directory at the top level of this repository to convert all YAML test files to JSON.


All the specs in this repository are available under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States License.

In the future...

  • Templates will have logos, and templates for authorship, copyright, disclaimers, etc.
  • Non-PDF output targets.

If you have specific feature requests, or need help getting things running, please contact samk@10gen.com.