modella-leveldb

0.1.4 • Public • Published

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('mattmuelle@gmail.com')
    .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: 'hi@lapwinglabs.com' } , 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

Dependencies (4)

Dev Dependencies (6)

Package Sidebar

Install

npm i modella-leveldb

Weekly Downloads

0

Version

0.1.4

License

none

Last publish

Collaborators

  • mattmueller