Simple interface for the MongoDB API


This is a small tweaks for the native MongoDB driver.

Easymongo v5 now support only Node.js v4. For previous version you can use the older easymongo.

$ npm i --save easymongo
const Client = require('easymongo');
let mongo = new Client({dbname: 'test'});
let users = mongo.collection('users');
let data = {name: 'Alexey', surname: 'Simonenko', url: 'http://simonenko.su'};
users.save(data).then(function(res) {
  // Returns a new document (array). 
users.find({name: 'Alexey'}, {limit: 2}).then(function(res) {
  // Always return array of documents. 
users.findById('4e4e1638c85e808431000003').then(function(res) {
  // Returns a document (object). If error occurs then will return false. 
users.count({name: 'Alexey'}).then(function(res) {
  // Amount (int). If error occurs then will return zero. 
users.remove({name: 'Alexey'}).then(function(res) {
  // Returns a result of operation (boolean). If error occurs then will return false. 
users.removeById('4e4e1638c85e808431000003').then(function(res) {
  // Returns a result of operation (boolean). If error occurs then will return false. 


  • server (string || object) — connection url to MongoDB or object with host, port and dbname
  • options (object) — optional options for insert command
  • collection(name) — returns a new instance of the easymongo Collection class
  • open(name) — returns a Promise which resolves an object of MongoDB Collection
  • close() — close the db connection
  • find([params][, options])
  • findOne([params][, options])
  • findById(oid[, fields])
  • save(data)
  • update(params, data)
  • remove([params])
  • removeById(oid)
  • count([params])

All methods return a Promise.

Possible find options:

  • limit — to specify the maximum number of documents (more info)
  • skip — to control where MongoDB begins return results (more info)
  • sort — to control the order of matching documents (more info)
  • fields — specify array of fields in returned documents, e.g. ["name", "url"]

You can use easymongo with co for promise/generator based flow-control.

The MIT License, see the included license.md file.