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 (err, db) {
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