2014-10-03 15 views
1

我正在使用Rails 4.1.4Mongoid在我的應用程序中。使用Mongoid在Rails中執行原子塊事務

我只是想知道是否有在Rails的執行原子使用Mongoid塊交易的方式。

爲了把事情說清楚,假設我有這樣的:

some_model_instance = SomeModel.find(some_id) 
some_model_instance.some_attribute = "Some Attribute Value" 
some_model_instance.save 
other_model_instance = OtherModel.find(other_id) 
other_model_instance.other_attribute = "Other Attribute Value" 
other_model_instance.save 

我想換行代碼在單個原子事務,我的意思是,如果出現錯誤,我想無論這兩種情況下的(some_model_instance,other_model_instance )被保存到數據庫。

我已經看到了與ActiveRecord的在某種程度上是這樣的:

SomeModel.transaction do 
    # do stuff I did above 
end 

這是否工作也Mongoid

感謝您的任何幫助!

+2

MongoDB沒有交易,所以你必須自己做一個穴居人。 – 2014-10-03 17:16:21

回答

5

CLOSED問題

MongoDB的不支持事務。它只對單個文檔執行原子操作。所以沒有辦法做出「原子塊交易」Mongoid

最好。