Projects / uma::bson


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.).

Operating Systems

Last announcement

Moved to Sourceforge 16 May 2013 23:29

Oracle has decided to shut down and will be making all project moves to (we had previously gone through the process of moving from to, 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.

Recent releases

  •  28 Feb 2013 16:37

    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.

    •  18 Feb 2013 16:57

      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.

      •  09 Jan 2013 15:33

        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.

        •  01 Jan 2013 23:31

          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.

          •  21 Dec 2012 17:52

            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.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.