好问题,我希望很快就可以解决。
有时,当在前端执行操作时,我们想更新许多文档。
示例代码示例
this.props.submitRecord(newRecord, (err, record) => {
if (err) actions.showSnackBar(err);
else {
actions.showSnackBar("Record Submitted Successfully ...");
this.props.validateClub(this.props.club._id, (err, message) => {
if (err) actions.showSnackBar(err);
else {
obj.setState({
player: {},
open: false
});
actions.showSnackBar(message);
}
});
}
});
如我们所见,我首先提交第一个请求,成功后,我提交第二个请求。如果第一个失败,则第二个不会发生。但是,如果第一个通过,而第二个由于任何原因而失败,则说明数据不匹配。
理想情况下,我们希望将它们全部一起发送,并且全部通过或不通过。是否有一种简单的方法可以通过react,Node和mongoose来执行此操作,或者我必须用困难的方式来执行此操作(这也可能会出错,请存储旧值,直到满足所有请求,或者对节点服务器,哈哈)。
谢谢
最佳答案
事务是Mongodb 4.0的一部分。在以前的版本中,Mongodb中没有事务支持。另一种方法是通过代码对失败执行回滚,并且有一些非规范化的npm软件包,例如猫鼬交易。
https://www.mongodb.com/transactions
关于node.js - Mongoose Node -请求对多个文档进行多次更新以全部成功还是全部取消?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53898056/