easymongo
easymongo copied to clipboard
The easiest MongoDB API
easymongo
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.