是否有执行一组的MongoDB服务器(使用Ruby驱动程序)上非原子的行动作为单一原子作用的方法吗?我所需要的基本上是对某些对象/收集的锁。

有帮助吗?

解决方案

有没有办法做到这一点的Ruby驱动程序,因为没有办法做到这一点在MongoDB中。蒙戈只支持单文档原子操作。所以基本上插入,更新或单个文件的删除是在多个文档自动完成的,但不能操作。

您可能能够通过伪造尝试手动“回退”,如果出现错误的交易。回滚在这种情况下将替换之前的值进行任何更改。但是,这会手动和没有ACID保证,你会从最SQL服务器获得。

其他提示

由于您可以对单个文件的原子操作,也有办法来模拟你想要什么。请参阅这篇文章:

http://kylebanker.com/blog/2010/06 / 07 / mongodb的库存-交易/

而对于一些想法有背后的原理,看到这一个:

http://www.eaipatterns.com/docs/IEEE_Software_Design_2PC.pdf

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top