У меня 2 последовательных запроса в Mongodb. Например, мой первый запрос - создать устройство , а второй - создать Slave после создания устройства. Иногда устройство может возникать, а Slave - нет. Если Slave не произошел, я хочу отменить операцию устройства. Как выполнить событие rollback в базе данных Mongodb ?
const Device = require("../../models/device");
const Slave = require("../../models/slave");
module.exports = (req, res, next) => {
const optionDevice = {
project_id: req.params.project_id.trim(),
title: req.body.title.trim(),
label: req.body.label.trim(),
communication: req.body.communication
};
const newDevice = new Device(optionDevice);
newDevice
.save()
.then(device => {
const newSlave = new Slave({
device_id: device._id,
project_id: device.project_id,
title: "Slave 1",
slave_id: 1
});
newSlave
.save()
.then(slave => {
return res.status(201).json({
message: i18n.__("general")._201,
data: device
});
})
.catch(err => {
return res.status(400).json({
message: i18n.__("general")._400.transaction,
error: err
});
});
})
.catch(err => {
res.status(500).json({
message: i18n.__("general")._500,
error: err
});
});
};