mongo-control
Advanced tools
Comparing version 1.0.62 to 1.0.63
@@ -798,2 +798,33 @@ var MongoClient = require('mongodb').MongoClient | ||
MC.aggregateById = function (params) { | ||
return new Promise(function (res, err) { | ||
if (!params.db || !params.collection || !params.id) return err('!params.db || !params.collection || !params.id') | ||
params.pipeline = params.pipeline || [] | ||
var query = {$or: [{_id: params.id}]} | ||
if (reMongoId.test(params.id)) { | ||
try { | ||
query.$or.push({_id: new ObjectID(params.id)}) | ||
} catch (idErr) { | ||
console.warn(idErr) | ||
} | ||
} | ||
params.pipeline.push({$match: query}) | ||
MongoClient.connect(params.db, function (e, db) { | ||
if (e) return err(e) | ||
db.collection(params.collection).aggregate(params.pipeline, function (e, docs) { | ||
if (e) return err(e) | ||
res(docs) | ||
db.close() | ||
}) | ||
}) | ||
}) | ||
} | ||
MC.removeById = function (params) { | ||
@@ -800,0 +831,0 @@ return new Promise(function (res, err) { |
{ | ||
"name": "mongo-control", | ||
"version": "1.0.62", | ||
"version": "1.0.63", | ||
"description": "Simple functions to control mongo", | ||
@@ -5,0 +5,0 @@ "main": "mongo.control.js", |
29923
943