/level-path

Push and pull JSON object to a specified PATH of your LevelDB

Primary LanguageJavaScriptMIT LicenseMIT

level-path

Provides set, push, pull, and liveStreamOn methods to your LevelDB

Install

npm install level-path
var LevelUp = require('levelup'),
    LevelPath = require('level-path');

var db = LevelUp('./testdb');

LevelPath(db);

Set JSON object

var person = { name: 'Maiah', occupation: 'Ninja' };
db.set('/', person, function (err) {
  if (!err) console.log('Saved person under root path');
});

This will put LevelDB data structure at the root path.

name = Maiah
occupation = Ninja

You can also save any valid JSON structure.

var person = {
  name: 'Maiah',
  occupation: 'Ninja',
  tools: {
    lang: 'js'
  }
};

db.set('/', person, function (err) {
  if (!err) console.log('Saved person under root path');
});

This will put LevelDB data structure at the root path.

name = Maiah
occupation = Ninja
tools/lang = js

You can also specify a path other than the root.

var person = { name: 'Maiah', occupation: 'Ninja' };
db.set('/person', person, function (err) {
  if (!err) console.log('Saved person under root path');
});

This will put LevelDB data structure at the person path.

person/name = Maiah
person/occupation = Ninja

Push JSON object

var person = { name: 'Maiah', occupation: 'Ninja' };
db.push('persons', person, function (err) {
  if (!err) console.log('Saved person!');
});

This will put LevelDB data structure like below with auto-generated uuid.

persons/65cdd174-259e-4e9d-9a73-3f8f3bd12843/name = Maiah
persons/65cdd174-259e-4e9d-9a73-3f8f3bd12843/occupation = Ninja

Pull JSON object

db.pull('persons', function (err, res) {
  if (!err) {
    console.dir(res);
  }
});

This will show a JSON like below.

{
  65cdd174-259e-4e9d-9a73-3f8f3bd12843: {
    name: 'Maiah',
    occupation: 'Ninja'
  }
}