/mangrove

Mangrove: the MongoDB C++ ODM

Primary LanguageC++Apache License 2.0Apache-2.0

Mangrove Build Status

Welcome to Mangrove, the MongoDB C++ ODM!

Mangrove lets you map your C++ classes to collections in MongoDB for seamless data retrieval and manipulation.

Documentation

The documentation for Mangrove is currently hosted at http://mongodb-labs.github.io/mangrove.

We generate the documentation with the following commands:

hugo -b http://mongodb-labs.github.io/mangrove/ --canonifyURLs=true -s ./hugo -d ../docs
doxygen

We then host docs by copying its contents to the gh-pages branch.

You can generate the documentation on your own by running the generate_docs.sh script in this root directory. It requires that you have Hugo and Doxygen installed on your system. If you're on OS X, both can be installed with Homebrew.

The documentation will be installed in ./docs with a base URL of http://localhost:8080/ and contains an installation guide, a quick tour of Mangrove's features, detailed chapters about each of the features, and a Doxygen-generated API reference. The documentation must be viewed on a static web server, even when viewing locally. If you have Node.js intalled, you can use the http-server package to host the docs locally:

./generate_docs.sh
npm install -g http-server
http-server ./docs

If you'd like to run the docs in such a way that the page will refresh when the content is updated, you can run hugo serve in the hugo directory:

cd hugo
hugo serve

Note that the Doxygen API will be unavailable in this served documentation.

Bugs and Issues

You can report any bugs or issues you find in the Github Issues tab for this repository.

Mailing Lists and IRC

The mongodb-user group is the main forum for MongoDB technical questions.

Other community resources are outlined on the MongoDB Community site.

License

The source files in this repository are made available under the terms of the Apache License, version 2.0.

The BSON mapper in Mangrove (Boson) is powered by the Cereal C++11 serialization library, which is made available under the BSD 3-Clause License.

The documentation for Mangrove utilizes the Hugo Learn theme (Copyright (c) 2014 Grav Copyright (c) 2016 MATHIEU CORNIC) which is made available under the MIT License.