Rails mongoid 数据库如何使用 transction?

jky · April 19, 2014 · Last by night_song replied at April 20, 2014 · 3140 hits

mongoid 数据库如何使用 transction 进行事务的处理?请大侠赐教。ActiveRecord::Base 是可以使用 transction 进行处理的。

没有,不行。

#1 楼 @Rei 如果要用有其他办法么?

不支持,ActiveRecord::Base#transction 本质上还是调用数据库的事务功能,MongoDB 不支持的话 Rails 也不支持

楼主觉得重发一帖 Mongodb 就能支持事务了?http://ruby-china.org/topics/18521

#3 楼 @swordray 我用的 mongoid 数据库,在调用类里的实例方法方法时 ActiveRecord::Base.transction {...}这样是可以的,但是直接 Class.transction {...}却不行。

#4 楼 @Rei 不是这个意思!之前我还不知道 mongoid 不支持 transction

单文档具备原子性

把 transaction 牵涉到的所有数据放到同一个文档中,用原子操作就可以了,如果没法做到,请不要用 mongodb. 或者自己用文件锁实现逻辑事务也可以。如果部署到多台机器,那你可以在一个挂载的公共磁盘上锁... 最后还是直接用关系数据库方便...

You need to Sign in before reply, if you don't have an account, please Sign up first.