如何实现mongo事务的回滚?

我在mongodb上使用mongoose。

在来自nodejs express服务器的请求和响应中,通常需要通过mongoose进行mongodb的查询。

在许多情况下,如果首先几个查询成功执行并且在事务下全部失败,则可能发生这种情况。

现在我需要将db状态回滚到db的初始状态。

那么我怎样才能有效地在mongodb回滚? 请提供一些合适的参考。

我同意赫克托。 如果你需要多个文件交易,那么Mongo可能不适合你。 你能把你的数据结构embedded到单个文档中吗? 然后你可以得到你正在寻找的回滚。

另一个select是查看提供跨多个文档的事务的Mongo克隆TokuMX。

通过Mongo教程

这里是一个链接,我发现进行两阶段提交(可能是不能保证):

http://docs.mongodb.org/manual/tutorial/perform-two-phase-commits/

在MongoDB中不支持传统的ACID数据库事务,无论你放在哪个顶层。 这不是Mongoose或Express.js的问题,这是MongoDB的特点。

MongoDB支持primefaces操作,这意味着保存到一个集合是保证完全成功或失败,换句话说,你将不会获得对集合中单个文档的部分更新。 但是在单个事务中不支持多更新。

http://docs.mongodb.org/manual/faq/fundamentals/#does-mongodb-support-transactions