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