好问题,我希望很快就可以解决。

有时,当在前端执行操作时,我们想更新许多文档。

示例代码示例

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/

10-09 21:13