Mongoid 提供
方法create
等create!
Artist.create(name: "Pablo Picasso")
或者
Artist.create!(name: "Pablo Picasso")
Mongoid 还提供了一种方便的方法find_or_create_by
,例如
a = Artist.find_or_create_by(name: "Pablo Picasso")
find_or_create_by!
如果验证失败并且无法创建文档,似乎 Mongoid 应该提供一种引发异常的方法。
我知道使用 Mongoid 3.1.0,你可以做到
Artist.where(name: "Pablo Picasso").first_or_create
或者
Artist.where(name: "Pablo Picasso").first_or_create!
但它们不等同于find_or_create_by
和find_or_create_by!
(如果存在的话?)?
find_or_create_by
语法更短,因此更好......