wrap all access to the DB object
wrap all access to the DB object
if you want to use something else for storage, overwrite this class and the factory RazMongo.apply
wrap all access to the DB object - potentially use rk as a store
this is the main factory for db tables
this is the main factory for db tables
todo you need a way to overwrite this to use another persistance
overwrite this to prepare your instance i.e.
overwrite this to prepare your instance i.e. initialize it
generic retry of idempotent operations (find/read)
generic retry of idempotent operations (find/read)
whatever return type of f
how many times to retry
the function to retry
set the instance to use
set the instance to use
important during the upgrades themselves - you can't recursively use db
represents a mongo db instance
we limit our usage to primitives that can be implemented by any rather stupid JSON document store.