dem*_*mas 6 ruby mongodb mongoid
我有这个型号:
class Action
include Mongoid::Document
field :name, type: String
field :assignment_date, type: Date
...
index(
[
[ :name, Mongo::ASCENDING ],
[ :assignment_date, Mongo::ASCENDING ]
],
unique: true
)
validates_uniqueness_of [ :name, :assignment_date ]
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试插入具有相同名称但不同的assigned_date的2个不同文档时,我收到错误:
Mongoid::Errors::Validations - Validation failed - Name is already taken, Assignment date is already taken.:
Run Code Online (Sandbox Code Playgroud)
我试过两个版本:
validates_uniqueness_of [ :name, :assignment_date ]
Run Code Online (Sandbox Code Playgroud)
和
validates_uniqueness_of :name, :assignment_date
Run Code Online (Sandbox Code Playgroud)
如果我评论这一行,一切正常.
joe*_*son 15
Mongoid:
validates_uniqueness_of :name, :scope => :assignment_date
Run Code Online (Sandbox Code Playgroud)
从文档:请注意,对于嵌入式文档,这只会检查该字段在父文档的上下文中是唯一的,而不是整个数据库.
http://mongoid.org/docs/validation.html
Vap*_*ire 14
根据此导轨指南,您可以执行以下操作:
validates :assignment_date, :uniqueness => { :scope => :name }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3444 次 |
| 最近记录: |