hapi-level
A simple LevelDB plugin for Hapi.
![Dependency Status](https://david-dm.org/johnbrett/hapi-level.svg)
Note: Sublevel has been updated to v6 in version 3.0.0
which has breaking changes which will corrupt a pre version 6 database, read about the sublevel breaking changes before updating, there is a migration tool to help with the upgrade.
![NPM](https://nodei.co/npm/hapi-level.png?stars&downloads)
Register plugin as follows, an optional options object can be passed in to specify data storage location 'path', and the config object supports all LevelUp options:
const Hapi = require('hapi');
var server = Hapi.createServer();
server.connection();
server.register([
{
register: require('hapi-level'),
options: {
path: './data',
config: {
valueEncoding: 'json'
}
}
}
], (err) => {
if (err) {
throw err;
}
server.start((err) => {
if (err) {
throw err;
}
console.log('Server started at: ' + server.info.uri);
})
};
To use plugin:
const db = request.server.plugins['hapi-level'].db;
const db = plugin.plugins['hapi-level'].db;
db.put('name', 'Level', (err) => {
if (err) {
return console.log('Ooops!', err);
}
db.get('two', (err, value) => {
if (err) {
return console.log('Ooops!', err);
}
console.log('name=' + value);
});
});
});
users.put('two', {id: 2, name: 'Level'}, (err) => {
if (err) {
return console.log('Ooops!', err);
}
users.get('two', (err, value) => {
if (err) {
return console.log('Ooops!', err);
}
console.log(value);
});
});
});