UNPKG

nodejs-rigorous

Version:
32 lines (27 loc) 935 B
"use strict"; 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); } }); };