MongoDB is a public favorite of mine. It was the first document database I worked with and despite their quirks (less and less as time passes) I can strongly recommend to have a look to it when you are searching for a server-based, solid document database.
Half-broken by Default
Unfortunately, (and we can blame NMoneys for it) MongoDB does not get on well, by default, with Money
instances.
Yes, they can be stored (not “pretty” { "CurrencyCode" : 208, "Amount" : "123.45" }
alas), but what it can’t be done by default is retrieving them and that seriously compromises my definition of working “out-of-the-box”.
Fortunately enough, MongoDB offers a pretty extensive customization over the serialization/deserialization process.
Looking Back
There is a big gap from version 1 to version 2 of the MongoDB driver, meaning a single source file cannot target both versions.
Initially, NMoneys will support custom serialization for the version 1 and when time comes a second package will be created to support v2.
Picking up the package
Documentation is available in here.