我可以使用where()
方法获取一些数据,但如果使用Paranoia delete()
方法删除某些记录(deleted_at
字段设置为删除日期),则不会返回在结果中。
我可以使用collection.deleted.entries.find()
使用Moped来获取这些记录,但我需要像往常一样使用Mongoid标准数据。
答案 0 :(得分:1)
paranoia插件在模型上设置default_scope。
included do
field :deleted_at, type: Time
class_attribute :paranoid
self.paranoid = true
default_scope where(deleted_at: nil)
scope :deleted, ne(deleted_at: nil)
define_model_callbacks :restore
end
你可以告诉Mongoid不要使用unscoped
来应用默认范围,Band.unscoped.where(name: "Depeche Mode")
Band.unscoped do
Band.where(name: "Depeche Mode")
end
可以内联或阻止。
{{1}}