2.1.1 • Published 7 years ago
@fanmiles/node-mongod-runner v2.1.1
node-mongod-runner
Nodejs runner for mongod with ephemeralForTest storage type and guaranteed listening port.
The process will be stopped on
SIGINT or SIGTERM signals.
Usage
const mongodRunner = require('node-mongod-runner');
const mongodb = require('mongodb');
mongodRunner().then(({ connectionUri }) => {
return mongodb.connect(`${connectionUri}/test_db`);
})Passing some suggestion for port:
mongodRunner({ port: 27101, })If the
portis not free a random one will be generated and returned.Listening only on localhost:
mongodRunner({ host: 'localhost', })Use a different version of MongoDB:
mongodRunner({ version: '3.2.0', })This might take a while because it needs to download the mongod binary. So, if used in Mocha tests you need to consider setting a timeout.
Default configuration
{
"port": 27017,
"host": "0.0.0.0"
}API
mongodRunner({ port, host, version })
Returns a promise that will resolve an object containing connectionUri and port.
// result
{
connectionUri // 'mongodb://0.0.0.0:44444'
port // the generated port Eg.: 44444
kill // method to kill mongod process
}mongoRunner.createMongoClient({ connectionUri })
It takes a connectionUri and it creates a mongodb connection to a random database.
It returns a Promise that will resolve to an object containing the connectionUri that includes
the random generated database name.
// result
{
connectionUri // the connection uri with a randomly generated db name Eg.: 'mongodb://0.0.0.0:44444/test-db-a743afc5-1571-486a-b26b-982f40f27c32'
mongoClient // a mongodb client connection
}