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 easymongoconst 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.