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).
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);
});
Arguments:
server
(string || object) — connection url to MongoDB or object with host, port and dbnameoptions
(object) — optional options for insert command
collection(name)
— returns a new instance of the easymongo Collection classopen(name)
— returns a Promise which resolves an object of MongoDB Collectionclose()
— 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.