baslr / arangochair

🥑 arangochair is a Node.js module that adds changefeed capability to ArangoDB and make it realtime push ready
91 stars 18 forks source link
arangochair arangodb changefeed push realtime subscribe

arangochair

arangochair pushs ArangoDB changes in realtime to you.

install

npm install --save arangochair

quick example

const arangochair = require('arangochair');

const no4 = new arangochair('http://127.0.0.1:8529/'); // ArangoDB node to monitor

const no4 = new arangochair('http://127.0.0.1:8529/myDb'); // ArangoDB node to monitor, with database name

no4.subscribe({collection:'users'});
no4.start();
no4.on('users', (doc, type) => {
    // do something awesome

    // doc:Buffer
    // type:'insert/update'|'delete'
});

no4.on('error', (err, httpStatus, headers, body) => {
    // arangochair stops on errors
    // check last http request
    no4.start();
});

subscribe

// subscribe to all events in the users collection
no4.subscribe('users');

// explicit
no4.subscribe({collection:'users', events:['insert/update', 'delete']});

// subscribe the users collection with only the delete event
no4.subscribe({collection:'users', events:['delete']});

// subscribe the users collection with only the delete event on key myKey
no4.subscribe({collection:'users', events:['delete'], keys:['myKey']});

unsubscribe

// unsubscribe the users collection
no4.unsubscribe('users');

// unsubscribe the delete event in the users collection
no4.unsubscribe({collection:'users',events:['delete']});

// unsubscribe the key myKey in the users collection
no4.unsubscribe({collection:'users',keys:['myKey']});