uma::bson is a DOM-style C++ API for reading/writing BSON data. Unlike the MongoDB C++ API, which exposes a read-only interface with a separate interface for creating a BSON representation, this API allows reading/writing on the existing data. The API is designed primarily for serialising/deserialising BSON data to/from streams (files, socket connections, etc.).
|Tags||C++ Library BSON|
|Operating Systems||Solaris Mac OS X Unix Windows (32 and 64 bit)|
|Implementation||Qt 4.8 Poco C++|
Oracle has decided to shut down kenai.com and will be making all project moves to java.net (we had previously gone through the process of moving from java.net to kenai.com), and we decided it was better for us to move to sourceforge instead. We have moved the subversion repository and test application downloads to sourceforget. The project should be updated soon with the proper links.
Release Notes: This release fixes a bug in the Document::DocumentImpl::update method. Specifying the default index value of -1 led to a duplicate element being added to document.
Release Notes: This release adds an uma::bson::ODMObject base class for a more elegant ODM than the interface exposed by the base uma::bson::Object class. It adds a src/test/sample/odm directory with ODMObject based ODM sample classes and tests.
Release Notes: This release adds a Document::create method to create an empty element of a specified type, fixes a bug in Document::hasNestedElement when invalid paths were specified, and fixes a bug in Document::set method which led to duplicate entries.
Release Notes: Object::setValue is no longer purely virtual. The default implementation of Object::setValue is based on a reference returned by Object::getValue. This release fixes a bug in Document::remove and makes it return copy instead of reference. It updates Array::remove to return copy instead of reference. It adds an ObjectId::setBytes method to allow updating an ObjectId instance.
Release Notes: This release implements a simple callback-based ODM (Object-Document mapping) framework. Client applications can create model objects which store data as uma::bson::Value instances while extending from the new uma::bson::Object class. The unit test suite has been expanded to include the ODM test suite.