level-live-stream

Stream live changes from levelup.

level-live-stream

Stream live changes from levelup.

Works just like LevelUp#readStream except instead of ending, it will stay open and stream changes to the database as they are inserted!

Just like the couchdb changes feed, but for any arbitrary range of keys!

see also, level-livefeed for the same idea, but with a streams2 api.

 
var level = require('level')
 
level('/tmp/level-live-stream', 
  {createIfMissing: true}, function (errdb) {
 
  var liveStream = require('level-live-stream')(db)
 
  liveStream
    .on('data', console.log)
 
  setInterval(function () {
    db.put('time', new Date().toString())
 
  }, 1000)
 
})
 

You can also attach liveStream as a method to the db like below. This will allow multilevel clients to use db.liveStream().

var LiveStream = require('level-live-stream');
 
// attach the `liveStream` method using `install` 
LiveStream.install(db);
 
// then invoke the method using the `db` instance 
db.liveStream()
  .on('data', console.dir);
LiveStream(db, {
  tail: true,   //follow 
  old : true,   //get old records from data base 
                //if old=false you will only get live updates 
  min : loKey,  //lowest key in range 
  max : hiKey,  //highest key in range 
  reverse: true //stream in reverse (only applies to old records) 
})

MIT