level-indexing

level indexing and finding

level-indexing

level indexing and finding

npm install level-indexing

var assert = require('assert');
 
var level = require('level');
var sublevel = require('sublevel');
var indexing = require('level-indexing');
 
// sublevel instance 
var db = sublevel(level('./level-test'));
 
// users sublevel (needs json value encoding) 
var users = db.sublevel('users', { valueEncoding: 'json' });
 
// use indexing 
indexing(users);
 
// index some properties 
users
.index('username')
.index('email');
 
// a user object 
var user = {
  id: 1,
  username: 'foobar',
  email: 'foo@bar'
};
 
users.put(user.id, user, function(err){
  // properties are now indexed 
  users.by('username', 'foobar', function(errvalue){
    assert.deepEqual(user, value);
  });
 
  users.byEmail('foo@bar', function(errvalue){
    assert.deepEqual(user, value);
  });
 
  users.find(1, function(errvalue){
    assert.deepEqual(user, value);
  });
 
  users.find('foobar', function(errvalue){
    assert.deepEqual(user, value);
  });
 
  users.find('foo@bar', function(errvalue){
    assert.deepEqual(user, value);
  });
});

Enable indexing on a sublevel db instance.

Indexes a property name.

Gets a value from index by key. Key can be an object with a property of index.

Finds key in all indexes. Key can be an object.

MIT