Redis object relational mapper for NodeJs with a minimum of magic
CoffeeScript Makefile
Latest commit aa8b705 Feb 15, 2017 @wdavidw wdavidw readme: update travis url

README.md

nodeBuild Status

Redis ORM for NodeJs

Installation

npm install ron

Usage

ron = require('ron');
// Client connection
client = ron({
  port: 6379,
  host: '127.0.0.1',
  name: 'auth'
});
// Schema definition
Users = client.get('users');
Users.property('id', {identifier: true});
Users.property('username', {unique: true});
Users.property('email', {index: true, type: 'email'});
Users.property('name', {});
// Record manipulation
Users.create(
  {username: 'ron', email: 'ron@domain.com'},
  function(err, user){
    console.log(err, user.id);
  }
);

The library provide

  • Documented and tested API
  • Records access with indexes and unique values
  • Records are pure object, no state, no magic

Client API

Schema API

Records API

Run tests

Run the tests with mocha:

npm run redis_start
npm test
npm run redis_stop

Note, the command above use a Docker container. You can use you're own Redis server by only running npm test after modifying the configuration file located in "conf/test.coffee".

If Redis is installed, start a redis server on the default port: redis-server ./conf/redis.conf

If Docker is installed, start a container: docker run --name ron -p 6379:6379 -d redis redis-server --appendonly yes