monger is a command-line version manager of MongoDB. It downloads and stores version of MongoDB to
the directory ~/.monger and facilitates running different mongodb binaries (mongod
, mongo
, etc.)
by version.
monger
currently only supports Linux and OS X/MacOS
Assuming that you have Rust installed, simply run cargo install monger
. Note that you'll need to
have ~/.cargo/bin
on your PATH to run monger.
To print help info:
monger --help
To print the version:
monger --version
The command monger list
will print out all versions of MongoDB being managed by your installation
of monger, as well as an entry listed as "system" if you have a version of mongod
installed on
your PATH (e.g. from a package manager installation of mongodb).
To download a version of MongoDB, use the command monger get <VERSION>
, where can be
a full semantic version, a release candidate, a major and minor version (which will download the
latest non-release candidate version with the given major and minor version), or the word "latest"
(which will download the latest stable release of MongoDB):
monger get 3.5.12
monger get 3.4.8-rc1
monger get 3.4
monger get latest
By default, this will do nothing if the version of MongoDB is already installed. To force monger to
download and install the verison of MongoDB from scratch, add --force
:
monger get 3.4.7 --force
To start mongod, run monger start <VERSION>
, where can be a full semantic version,
a release candidate, a major and minor version (which will start the latest non-release candidate
version with the given major and minor version), or the word "system" if a version of mongod
is
present in the user's PATH:
monger start 3.5.12
monger start 3.4.8-rc1
monger start 3.4
monger start system
To specify additional arguments to mongod
, simply append --
:
monger start 3.4.7 -- --fork --syslog
By default, --dbpath will be set to the directory ~/.monger/db/<VERSION>
. To use a different path,
pass the --dbpath argument as normal along with any other arguments:
monger start 3.4 -- --dbpath path/to/db --fork --syslog
To run a MongoDB binary, run monger run <VERSION> <BIN>
, where can be a full semantic
version, a release candidate, a major and minor version (which will start the latest non-release
candidate version with the given major and minor version), or the word "system" if a version of
mongod
is present in the user's PATH:
monger run 3.5.12 mongo
monger run 3.4.8-rc1 mongotop
monger run 3.4 mongo
monger run system mongotop
To specify additional arguments to mongod
, simply append --
:
monger run 3.4.7 mongo -- --host 1.2.3.4 --port 1234
To delete a version of MongoDB managed by monger, run monger delete <VERSION>
, where is
a full semantic version of an installed MongoDB version:
monger delete 3.5.12
monger delete 3.4.8-rc1
Often after downloading a new release, older patch releases of the same version aren't needed. To
delete these, run monger prune
. For example, given the versions listed below installed, the marked
versions would be deleted:
3.0.14 (deleted)
3.0.15
3.2.10 (deleted)
3.2.16
3.4.6-rc0 (deleted)
3.4.7
3.4.8-rc1
3.5.10 (deleted)
3.5.11 (deleted)
3.5.12
Note that release candidates won't be used to determine the newest stable version installed, but release candidates older than the newest stable release will still be deleted.
- Ensure that all errors give proper feedback
- Improve test coverage
- Properly detect SSL libraries on MacOS
- Windows support (?)