nodejs-rigorous
Version:
Rigorous Framework
32 lines (27 loc) • 935 B
JavaScript
;
var mongoose = require('mongoose');
var callbackResult = require('./callback_result');
module.exports = function (collectionName, queryDelete) {
return new Promise(function (resolve, reject) {
try {
// Delete = remove because deleteOne or deleteMany do not trigger any middleware (we need pre('remove')
mongoose.model(collectionName).findOneAndRemove(queryDelete, function (err, resultUnfiltered) {
callbackResult.exec(err, resultUnfiltered).then(function (result) {
var ids = [];
if (Array.isArray(result)) {
result.forEach(function (resultUnit) {
ids.push(resultUnit.id);
});
} else {
ids.push(result.id);
}
return resolve(result);
})["catch"](function (err2) {
return reject(err2);
});
});
} catch (errGlobal) {
reject(errGlobal);
}
});
};