[abacus] MongoDB client

Hristo Iliev


I now have the first version of a drop-in replacement client for MongoDB:

The client still has some limitations:
* no support for ajax.rejectUnauthorized CouchDB option
* no support for skip_setup CouchDB option
* no support for keys, starting with $ (Mongo restriction)
* no support for custom backends (in-memory, lrudown cache, ...)

The eureka stub in my fork stores the port number with key different than $ to overcome the Mongo restrictions.

The client was tested with 2.x and 3.x versions of Mongo. All unit-tests pass without modification, and I started working on the integration tests.

We can add the mongo client as a new sub-module to:
* make the work on integrating and polishing the Mongo code more transparent
* allow reporting of issues for the new code (bugs, improvements, suggestions, requirements)
* start creating abstraction layer that can select one of the DB clients

What do you think?

Hristo Iliev

Join {cf-dev@lists.cloudfoundry.org to automatically receive all group messages.