Mongorito
Awesome ES6 generator-based MongoDB ODM for Node.js v0.11.x (or newer).
Just take a look on its pretty models and beautiful API.
Uses monk under the hood.
Features
- Based on ES6 generators, which means no callbacks
- Common, established API you've already used to
- Hooks (before:save, around:create, after:remove, etc)
- Very simple and easy-to-understand implementation
- Fully covered by tests
Installation
npm install mongorito --save
Warning: You should have Node.js v0.11.x installed (or newer). Run node with --harmony
option:
node --harmony something.js
Note: In order for the following examples to work, you need use something like co to run generators.
Another note: If you want to use ES6 classes (like in the following examples), use 6to5. If not, there is an alternative API left from previous versions of Mongorito.
Overview
var Mongorito = require('mongorito');
var Model = Mongorito.Model;
Mongorito.connect('localhost/blog');
class Post extends Model {
}
var post = new Post({
title: 'Node.js with --harmony rocks!',
body: 'Long post body',
author: {
name: 'John Doe'
}
});
yield post.save();
post.set('title', 'Post got a new title!');
post.set('author.name', 'Doe John');
yield post.save();
var posts;
posts = yield Post.where('body', 'Long post body').find();
posts = yield Post.where('author.name', 'John Doe').find();
posts = yield Post.where('title', /^node/i).find();
Mongorito.disconnect();
Getting Started
Check out Getting Started guide on http://mongorito.com.
Tests
To execute tests run:
npm test
License
Mongorito is released under the MIT License.