mongo-oplog-watch

1.0.3 • Public • Published

mongo-oplog-watch

Watch for changes in mongoDB using oplog. This is basically a wrapper for mongo-oplog package, with better formatted results

Installation

npm install --save mongo-oplog-watch

Mongo configuration

Configure MongoDB for ac active oplog:

Start MongoDB with:

$ mongod --replSet test

Start a mongo shell and configure mongo as follows:

> var config = {_id: "test", members: [{_id: 0, host: "127.0.0.1:27017"}]}
> rs.initiate(config)

Once configuration is initiated then you can use the package in your application.

Usage

var mongoWatch = require('mongo-oplog-watch');
  • Register a watcher
var watcher = mongoWatch('/mongo/uri', mongoOptions);
  • Now, watcher exposes following events
watcher.on('insert', function(doc) {
  doc = {
    db: 'db name',
    collection: 'collection name',
    object: {
      // inserted object
    }
  }
});
 
watcher.on('update', function (doc) {
  doc = {
    db: 'db name',
    collection: 'collection name',
    query: {
      _id: 'Object Id'
    },
    object: {
      set: {
        field1: 'updated value',
        field2: 'updated value'
        // ...
      }
    }
  }
});
 
watcher.on('delete', function (doc) {
  doc = {
    db: 'db name',
    collection: 'collection name',
    object: {
      _id: 'deleted Id'
    }
  }
});
 
watcher.on('error', function (error) {
  console.log('error', error);
});
 
watcher.on('end', function () {
  console.log('Stream ended');
});
  • Other useful methods

    • Stop tailing and disconnect from server
    watcher.stop(function() {
      // Tailing stopped
    });
    • Destroy the mongo-oplog object by stop tailing and disconnecting from server
    watcher.destroy(function() {
      // Destroyed
    });
    • Pause oplog events
    watcher.pause();
    • Resume oplog events
    watcher.resume();

Package Sidebar

Install

npm i mongo-oplog-watch

Weekly Downloads

0

Version

1.0.3

License

MIT

Last publish

Collaborators

  • sachinb94