Skip to content

Latest commit

 

History

History
82 lines (51 loc) · 1.59 KB

Readme.md

File metadata and controls

82 lines (51 loc) · 1.59 KB

LevelDB

LevelDB plugin for modella.

Installation

npm install modella-leveldb

Example

var model = require('modella');
var level = require('modella-leveldb')('./mydb');
var uid = require('uid');

var User = model('user')
  .attr('id')
  .attr('name')
  .attr('email')
  .attr('password');

User.use(level);

/**
 * Initialize
 */

var user = new User;

user.id(uid(6))
    .name('matt')
    .email('[email protected]')
    .password('test');

user.save(function(err) {
  console.log(user.toJSON());
});

API

Level(path|db, options)

Initialize leveldb with a path to the database. If path doesn't exist, it will be created. options will be passed through to levelup

Alternatively, you can pass your own level db instance in.

Model.index(index, opts)

Create a secondary index using leveldex. You may ensure that key is unique by passing unique : true in opts.

User.index('email', { unique: true });

Model.all([options], fn)

Get all models (static method)

Model.find(id|object, [options], fn)

Find a model (static method).

If you provide a secondary index, you can search by that key:

Model.find({ email: '[email protected]' } , fn);

model.save([options], fn)

Save the model (instance method)

model.remove([options], fn)

Remove the model (instance method)

All options will be passed through to levelup.

License

MIT