Mongo db driver using C++ reflection for database models
C++ C
Latest commit 83277c4 Jul 12, 2016 @gorlak gorlak fix image link
Permalink
Failed to load latest commit information.
API.h Profile revamp Jan 24, 2014
LICENSE.md
Mongo.cpp
Mongo.h
Mongo.inl
MongoPch.cpp update heap configuration Feb 17, 2014
MongoPch.h
README.md

README.md

Helium Game Engine

Mongo completely automates the serialization of an object to and from a MongoDB database. The Reflect C++ reflection library provides information about the member variable layout of a class of object. Model objects contain only a single new member variable: id, which follows the _id variable that stores the internal unique id of an object in MongoDB.

Design

This module was written to implement the database modelling design pattern in C++ using reflection information provided by Reflect. At the moment its focused on correctly serializing C++ classes to and from BSON within the context of a database connection. Queries and indexes must be implemented outside the scope of this module. Inserts are only valid using a model object with a null id, and Updates are only valid with a model object with a non-null id.

Implementation

Mongo was written to not rely on locks when accessing the database. Mongo::Database merely tracks which thread is intended to use the database connection, and it will assert if the wrong thread causes the connection to be used.

Location

https://github.com/HeliumProject/Mongo