* The most important function of this module is cleaning database before each test.
* To have your database properly cleaned you should configure it to access the database.
*
* In order to have your database populated with data you need a valid js file with data (of the same style which can be fed up to mongo binary)
* File can be generated by RockMongo export command
* You can also use directory, generated by ```mongodump``` tool or it's ```.tar.gz``` archive (not available for Windows systems), generated by ```tar -czf <archive_file_name>.tar.gz <path_to dump directory>```.
* Just put it in ``` tests/_data ``` dir (by default) and specify path to it in config.
* Next time after database is cleared all your data will be restored from dump.
* The DB preparation should as following:
* - clean database
* - system collection system.users should contain the user which will be authenticated while script performs DB operations
*
* Connection is done by MongoDb driver, which is stored in Codeception\Lib\Driver namespace.
* Check out the driver if you get problems loading dumps and cleaning databases.
*
* HINT: This module can be used with [Mongofill](https://github.com/mongofill/mongofill) library which is Mongo client written in PHP without extension.
*
* ## Status
*
* * Maintainer: **judgedim**, **davert**
* * Stability: **beta**
* * Contact: davert@codeception.com
*
* *Please review the code of non-stable modules and provide patches if you have issues.*
*
* ## Config
*
* * dsn *required* - MongoDb DSN with the db name specified at the end of the host after slash
* * user *required* - user to access database
* * password *required* - password
* * dump_type *required* - type of dump.
* One of 'js' (MongoDb::DUMP_TYPE_JS), 'mongodump' (MongoDb::DUMP_TYPE_MONGODUMP) or 'mongodump-tar-gz' (MongoDb::DUMP_TYPE_MONGODUMP_TAR_GZ).
* default: MongoDb::DUMP_TYPE_JS).
* * dump - path to database dump
* * populate: true - should the dump be loaded before test suite is started.
* * cleanup: true - should the dump be reloaded after each test.
* Boolean or 'dirty'. If cleanup is set to 'dirty', the dump is only reloaded if any data has been written to the db during a test. This is
* checked using the [dbHash](https://docs.mongodb.com/manual/reference/command/dbHash/) command.