mong-replica-set v0.2.0
mongo-replica-set
Command-line tool and API to quickly setup a MongoDB replica set for development purposes, based on the official tutorial.
Installation
To use the API:
$ npm install mongo-replica-set
To use the command-line tool install globally:
$ npm install -g mongo-replica-set
Usage
Command-line
Usage: mongo-replica-set [options]
Options:
-h, --help output usage information
-V, --version output the version number
-d, --data [folder] Base folder for data storage (Default: auto-created folder in system temp folder)
-n, --num [num] No. of instances to launch (Default: 3)
-p, --port [port] Starting port number for instances (Default: 27117)
-v, --verbose Verbose output
Thus for a basic setup involving 3 mongod
instances simply run:
$ mongo-replica-set
>>> Replica set ready
You can then (in a new terminal window) use mongo
to connect to the instances,
which should be running at localhost:27117
, localhost:27118
and
localhost:27119
respectively. Eg:
$ mongo --port 27117
MongoDB shell version: 2.6.5
connecting to: 127.0.0.1:27117/test
rs_515_1429031406166:PRIMARY> show dbs;
admin (empty)
local 0.281GB
rs_515_1429031406166:PRIMARY>
Press CTRL+C
in the original window to terminate the instances and clean up
the replica set.
If any errors occur during initialisation the command will exit and clean up the replica set instances and data folders.
API
Basic usage:
var ReplicaSet = require('mongo-replica-set').ReplicaSet;
var rs = new ReplicaSet();
// returns a Promise
rs.start()
.then(function() {
// started ok.
})
.catch(function(err) {
// something went wrong.
});
You can pass options to the ReplicaSet
constructor, similar to the command-line
tool:
var rs = new ReplicaSet({
numInstances: 5,
startPort: 55000,
baseFolder: '/opt/data',
verbose: true,
useColors: false /* Don't use colours when outputting to console */
});
rs.start();
Contributing
Contributions are welcome! Please see CONTRIBUTING.md
.
LICENSE
MIT - see LICENSE.md
.