使用Mongoid创建原子插入或阻止竞争条件的好方法是什么?

时间:2017-03-15 19:51:36

标签: ruby mongodb mongoid

class User
  include Mongoid::Document

  field :email, type: String

  validates_uniqueness_of email
end

虽然Mongoid支持atomic operations,但我没有看到插入。

由于User.create不是原子的,因此似乎可以同时使用相同的电子邮件地址创建2个用户。

那么,有什么方法可以确保2个用户不会同时注册同一个电子邮件地址?

我可以看到一个解决方案是使用唯一的DB索引,但还有其他好的方法吗?

0 个答案:

没有答案