Re: [abacus] MongoDB client

Jean-Sebastien Delfino

Hi Hristo,

This looks really good!

+1 to merging this as a new module in master, and continuing the work
there, as then we can all work together on creating the abstraction layer
that'll select between the Couch/Pouch/Mongo clients, and also on making
the in-memory caches select the proper backend like I think you were
suggesting the other day on our slack channel.

Once your module is there in master, I can also help add a build config
option to have some of the CI builds run the tests with it, if that helps.


- Jean-Sebastien

- Jean-Sebastien

On Sun, Jan 24, 2016 at 1:33 AM, Hristo Iliev <hsiliev(a)> wrote:


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
* 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 to automatically receive all group messages.