node package manager

mongod

Start and stop a MongoDB server.

mongod

NPM version Build Status Coverage Status License

Start and stop a local MongoDB server in Node.js like a boss.

Installation

 
npm install mongod
 

Usage

The constructor exported by this module optionally accepts a single argument; a number or string that is a port or an object for configuration.

Basic Example

 
const Mongod = require('mongod');
 
// Simply pass the port that you want a MongoDB server to listen on.
const server = new Mongod(27017);
 
server.open((err) => {
  if (err === null) {
    // You may now connect a client to the MongoDB
    // server bound to port 27017.
  }
});
 

Configuration

Property Type Default Description
bin String mongod A path to a MongoDB server binary.
conf String A path to a MongoDB server configuration file.
dbpath String A path to a to store MongoDB server files.
storageEngine String A MongoDB storage engine (i.e. wiredTiger).
nojournal Boolean false A flag to tell MongoDB to disable journaling.
port Number 27017 A port to bind a MongoDB server to.

A MongoDB server binary must be available. If you do not have one in $PATH, provide a path in configuration.

 
const server = new Mongod({
  port: 27017,
  bin: '/opt/local/bin/mongod'
});
 

You may use a MongoDB configuration file instead of configuration object properties that are flags (i.e. dbpath and port). If conf is provided, no flags will be passed to the binary.

 
const server = new Mongod({
  conf: '/path/to/mongodb.conf'
});
 

Methods

For methods that accept callback, callback will receive an Error as the first argument if a problem is detected; null, if not.

Mongod#open()

Attempt to open a MongoDB server. Returns a Promise.

Promise style open()
 
server.open().then(() => {
  // You may now connect to the MongoDB server.
});
 
Callback style open()
 
server.open((err) => {
  if (err === null) {
    // You may now connect to the MongoDB server.
  }
});
 

Mongod#close()

Close the associated MongoDB server. Returns a Promise. NOTE: Disconnect clients prior to calling this method to avoid receiving connection errors from clients.

Promise style close()
 
server.close().then(() => {
  // The MongoDB server is now closed.
});
 
Callback style close()
 
server.close((err) => {
  // The MongoDB server is now closed.
});
 

Properties

Mongod#isOpening

Determine if the instance is starting a MongoDB server; true while a process is spawning, and/or about to be spawned, until the contained MongoDB server either starts or errs.

Mongod#isRunning

Determine if the instance is running a MongoDB server; true once a process has spawned and the contained MongoDB server is ready to service requests.

Mongod#isClosing

Determine if the instance is closing a MongoDB server; true while a process is being, or about to be, killed until the contained MongoDB server either closes or errs.

Events

stdout

Emitted when a MongoDB server prints to stdout or stderr.

opening

Emitted when attempting to start a MongoDB server.

open

Emitted when a MongoDB server becomes ready to service requests.

closing

Emitted when attempting to stop a MongoDB server.

close

Emitted when a MongoDB server closes.

Credits

A special thanks to @ForbesLindesay for contributing the NPM package name.