Mongo DB Transactions
From Logic Wiki
https://docs.mongodb.com/v3.4/tutorial/perform-two-phase-commits/
Fawn
npm i fawn
const Fawn = require('fawn');
...
Fawn.init(mongoose)
try{
new Fawn.Task()
.save('rentals', rental)
.update('movies', { _id: movie._id }, {
$inc: { numberInstock: -1 }
})
.run();
}
catch(ex) {
res.status(500).send('Something failed');
}