多年过去了,monggodb有了应对事务的办法了吗?
最近遇到一个场景,也就是一次性要创建多条数据,如果一条出错,就其他的也要回滚或者不再继续。 感觉mongodb两段提交那个办法太麻烦了,与其那样还不如花点功夫在业务逻辑上下点功夫。
3 回复
为什么非要用mongdo来做事务呢?用其长处即可。
没有
暂时没看到。。。 事务这个东西是具体项目设计思想上的,不好说应该不应该用,不过MongoDB不支持自定义锁有时候要保证复杂逻辑原子性的时候很蛋疼。。。 你要是对事务的需求很高,说明是时候该换数据库了,重新做技术选型,你们需要什么样的数据库特性,按照需求选择,我们的某些产品打算切PGSQL,也是因为事务依赖性太强。
项目复杂到一定程度可能无论数据库具备啥特性都满足不了需求了,因为有时候需要保证一致性的不一定只有数据库操作,还会有第三方服务的调用,这时候就很必要做回滚机制了,推荐一篇文章 https://msdn.microsoft.com/en-us/library/dn589804.aspx