0.3.0 • Published 9 years ago
leveldex v0.3.0
leveldex
level indexing and finding.
Originally based on stagas/level-indexing.
Installing
npm install leveldex
Example
var assert = require('assert');
var level = require('level');
var sublevel = require('sublevel');
var index = require('leveldex');
// sublevel instance
var db = sublevel(level('./level-test'));
// users sublevel (needs json value encoding)
var users = db.sublevel('users', { valueEncoding: 'json' });
// use index
index(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(err, value){
assert.deepEqual(user, value);
});
users.byEmail('foo@bar', function(err, value){
assert.deepEqual(user, value);
});
users.find(1, function(err, value){
assert.deepEqual(user, value);
});
users.find('foobar', function(err, value){
assert.deepEqual(user, value);
});
users.find('foo@bar', function(err, value){
assert.deepEqual(user, value);
});
});
API
leveldex(sublevel)
Enable indexing on a sublevel db instance.
index(name)
Indexes a property name
.
by(index, key, fn)
Gets a value from index
by key
. Key can be
an object with a property of index
.
find(key, fn)
Finds key
in all indexes. Key can be an object.
License
MIT
0.3.0
9 years ago