Skip to content

meritt/easymongo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

195 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

easymongo

NPM version Build status Test coverage Dependency status devDependency status

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.

Installation

$ npm i --save easymongo

Examples

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).
  console.log(res);
});

users.find({name: 'Alexey'}, {limit: 2}).then(function(res) {
  // Always return array of documents.
  console.log(res);
});

users.findById('4e4e1638c85e808431000003').then(function(res) {
  // Returns a document (object). If error occurs then will return false.
  console.log(res);
});

users.count({name: 'Alexey'}).then(function(res) {
  // Amount (int). If error occurs then will return zero.
  console.log(res);
});

users.remove({name: 'Alexey'}).then(function(res) {
  // Returns a result of operation (boolean). If error occurs then will return false.
  console.log(res);
});

users.removeById('4e4e1638c85e808431000003').then(function(res) {
  // Returns a result of operation (boolean). If error occurs then will return false.
  console.log(res);
});

API

Client class

Constructor

Arguments:

  • server (string || object) — connection url to MongoDB or object with host, port and dbname
  • options (object) — optional options for insert command

Methods

  • 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

Collection class

Methods

  • 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"]

Flow control

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

Author

License

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

About

The easiest MongoDB API

Resources

License

Stars

Watchers

Forks

Packages

No packages published