Coder Social home page Coder Social logo

easymongo's Introduction

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.

easymongo's People

Contributors

meritt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.