MongoDB adapter update

We now pass a `MongoCollection` class into the `MongoDB` adapter to allow more complex set ups including replica sets and shards.