The MongoListener SIB Listener triggers a dataflow depending on rules set on a mongoDB database.
Module | sib_mongolistener |
Version | 1.3.2 |
var MongoListenerCustom = { _id: "mongoListener:1", _name: "SIB Mongo Listener Sample", handlers: { firstCheck: (db, callback)=>{ if( !MongoListenerCustom.lastrun ) MongoListenerCustom.lastrun = Date.now(); db.collection( "test" ).findOne( {changed:{$gte:MongoListenerCustom.lastrun}}, (e,d)=>{ callback( d );} ); MongoListenerCustom.lastrun = Date.now(); } }, init: ( thisListener )=>{}, inputFormat: (topic, msg, cb)=>{ cb(msg); }, loggerCfg: { dest: { file: false, console: true, mqtt: true } }, mongo: { connectionstring: "mongodb://localhost:27017", database: "sibtest" }, publishInput: (msg, mqttClient)=>{ mqttClient.publish( msg._sibheader.topic, JSON.stringify( msg ) ); }, mqtt: "mqtt://localhost", schedules: [ {handler: "firstCheck", schedule: "* * * * *", topic: "SIB/Samples/MongoListener/firstCheck"} ], topic: "SIB/Samples/MongoListener" }; module.exports = MongoListenerCustom;