有时我们想要保存一些彼此不直接相关的对象。其中一个或几个可能会发生故障。如果没有“交易”策略,我们如何保存全部或不保存?
答案 0 :(得分:4)
答案 1 :(得分:2)
我不是那么进入Mongoid,但如果不存在事务,你可能只是检查是否有任何对象#valid?
,如果是,那就不要保存所有对象。
答案 2 :(得分:1)
你做不到。如果这是一个硬性要求,您必须将相关对象嵌入到彼此中,以便可以使用原子更新对其进行修改,或者您需要找到另一个持久性解决方案。 MongoDB做了很多事情,但交易不是其中之一。
答案 3 :(得分:1)
从3.6开始,MongoDB提供session
s = Mongoid.client(:default).start_session
s.start_transaction
s.commit_transaction
有关Session类的详细信息,请参见here
答案 4 :(得分:1)