【发布时间】:2014-05-14 13:56:40
【问题描述】:
在 mongoid 中使用 find_or_create_by 时有没有办法处理并发?
我正在使用Tag.find_or_create_by(name: "foo") 标记我的应用程序中的一些项目。
在Tag 模型中,我还使用了唯一性验证:validates_uniqueness_of :name
但是,当用户在短时间内发送多个帖子请求时,我的数据库中会出现重复的标签。
我想我理解为什么会发生这种行为,但我不知道如何让它按预期工作。任何的想法 ?
谢谢!
【问题讨论】:
-
你能在你的问题中证明你的实际问题吗?到目前为止,您发布的内容可以有多种解释。
-
很明显,当他在多个线程中同时使用
find_or_create_by时,即使使用validates_uniqueness_of属性,也可以创建几次记录。
标签: ruby-on-rails mongodb mongoid