mango

simple mongodb wrapper library for nodejs

npm install mango
1 downloads in the last week
17 downloads in the last month

node-mango

simple mongodb wrapper library for nodejs

Features

  • promise-returning wrapper methods for all mongodb collection methods.
  • DAO-like methods: createNew/load/store/destroy/all
  • embedded fields helper methods: getField/setField/removeField/loadField/...
  • embedded array fields helper methods: addElement/addElements/removeElement/removeElements/hasElemnt/hasSomeElements/hasAllElements
  • embedded object fields helper methods: getProperty/setProperty/incProperty/removeProperty
  • document level cache with memory, redis or something(EXPREIMENTAL)

Getting Started

install module using npm:

npm install mango

prepare configuration:

var config = {
  test: {
    mongo: {
      url: 'mongodb://localhost/test',
      options: {
      }
    },
    mango: {
      collections: {
        users: {
        },
        posts: {
        },
        tags: {
        }
      }
    }
  }
};

configure mango with configuration:

var mango = require('mango').configure(config);

or, configure it later, if you want:

var mango = require('mango');
...
mango.configure('mongodb://localhost/test');

alternatively, connect directly if you need a single db connection:

var mango = require('mango');
mango.connect('mongodb://localhost/test').then(function(testDb) {
  ... // NOTE: testDb is not mongodb.Db instance but mango.MangoDb instance
}).done();

execute queries using promise:

mango.test.users.findOne({name: 'foo'});
  .then(function (result) {
  })
  .fail(function (err) {
  })
  .done();

Configuration

TBW

Cache

TBW

API Reference

to generate api reference:

grunt jsdoc

to browse api reference:

open docs/index.html

Dependencies

Notes

plz, see source code in libs directory and test code in tests directory until documents are available ;).

May the source be with you...

npm loves you