ruby on rails 3 - Mongoid -删除模块



我在索引页中有一个学生名称列表。如果我删除一个学生,它将从Mongo数据库中销毁整个文档。

但是如果我从索引页中删除它,它应该从列表中删除,但不想从Mongo数据库中删除它。我不想从我的数据库中破坏任何数据!!

I know the other ways to achieve它,但我想知道在蒙古可以我们需要包括一个额外的蒙古模块来支持它。蒙古有什么功能吗? !

for example:

include Mongoid::Document
include Mongoid::Timestamps

没有。Mongoid为您提供了其他数据库所能提供的简单CRUD功能。要隐藏数据,您需要将属性设置为hidden,然后在视图中不显示隐藏的记录。

include Mongoid::Paranoia

但问题是它在很长时间内都不会被支持。查看mongoid docs

所以如果你打算升级到mongoid 4,不要依赖这个。

如果计划在最多为mongoid 3时执行此操作,则可以使用 mongoid::Paranoia with。Paranoia使用deleted_at属性来区分已删除的文档,并默认在deleted_at: nil上应用作用域。

include Mongoid::Paranoia
document.delete   # Deleting it from index but keep it in DB
document.delete!  # Delete it from collection permanently
document.destroy  # Sets the deleted_at field, firing callbacks.
document.destroy! # Permanently deletes the document, firing callbacks.
document.restore  # Brings the "deleted" document back to life.
collection_class.deleted # To show all deleted documents (marked as deleted)

如果您打算继续使用mongoid 4,您可以试试https://github.com/simi/mongoid-paranoia,它也为mongoid 4做同样的事情。

相关内容

  • 没有找到相关文章