JugglingDB
- cross-database ORM for nodejs and the browser
JugglingDB is a cross-db ORM for nodejs, that provides a common interface to access many popular database engines. JugglingDB Current supports: mysql, sqlite3, postgres, couchdb, mongodb, redis, neo4j and in-memory-storage.
JugglingDB also works client-side (using WebService and Memory adapters), which allows rich client-side apps to talk to application servers using a JSON API.
Use npm to install the core package:
npm install jugglingdb --save
Alternatively you can install the jugglingdb core from github:
npm install 1602/jugglingdb
Then install an adapter for specific database, for example for redis jugglingdb-redis
:
npm install jugglingdb-redis
See ADAPTERS for a list of available adapters.
Autogenerated documentation available at jsdoc.info/1602/jugglingdb. Hand written manual sections are:
Everything about the schema, data types and model definition.
Model methods, features and internals.
Built-in validators, creating custom validations, syncronous and asyncronous object validation.
Hooks and object lifecycle.
Adapter API explained.
All adapters are available as separate packages at github.com/jugglingdb and published in npm.
You can take part in improving the jugglingdb codebase and documents. Please make your proposed changes by forking our documentation's repository on github, and then create a new pull request. Please remember that your contribution is highly encouraged. Be sure to follow the discussion in google group and see github issues before you make changes. It's preferable that you post new comment in google group or in github before you make changes and create pull request.
See jugglingdb-roadmap(3) and github issues to catch up current development and see how you can help jugglingdb to grow up.
When you find issues, please report them:
Provide a test case for reproducing your error. When reporting issues to the core, mention which adapter you are using and where problem could be reproduced.
JugglingDB is Copyright (C) 2011 Anatoliy Chakkaev http://anatoliy.in
410 Anatoliy Chakkaev 73.9%
31 Sebastien Drouyer 5.6%
25 1602 4.5%
9 Muneeb Samuels 1.6%
6 Henri Bergius 1.1%
NOTE: Other adapters waits for their maintainers, drop a line to mail@anatoliy.in if you want to maintain some adapter on regular basis.