npm 包 mf-mongoose-softdelete 使用教程

阅读时长 3 分钟读完

在开发中,数据的删除是非常常见的操作。但是,传统的软删除方式是在数据库中进行标记,在查询数据时根据标记进行筛选,而不是真正的删除。这种方式在多数情况下可以满足需求,但如果要彻底删除数据则会变得非常困难。因此,mf-mongoose-softdelete 这个 npm 包应运而生。

什么是 mf-mongoose-softdelete

mf-mongoose-softdelete 是一个基于 Mongoose 的软删除插件,它支持彻底删除数据、修改删除标记、查询时自动过滤删除的数据等操作。使用该插件可以大大简化软删除操作的代码实现。

安装 mf-mongoose-softdelete

在 Node.js 项目中使用以上包很容易,只需要在项目中运行以下命令:

使用 mf-mongoose-softdelete

在 Mongoose 模型中使用 mf-mongoose-softdelete 插件非常简单,只需要对模型进行一些简单的配置即可。

引入模块

定义模型

-- -------------------- ---- -------
----- ------ - ----------------

----- ---------- - --- --------
  ----- -------
  ---- -------
  ----------- -
    ----- --------
    -------- -----
  -
---

----------------------------- -
  ---------- -----
  ---------- -----
  ---------------- ----
---

-------------- - ---------------------- ------------

解释:

  • deletedAt:标记删除的时间,在查询时自动过滤掉软删除的数据。
  • deletedBy:记录删除的用户,非必须。可增加删除操作的可追溯性。
  • overrideMethods:覆盖 Mongoose 自带的 delete 方法,使之变成软删除。如果该项为 false,则需要使用自定义方法进行软删除操作。

执行软删除

代码执行过程中,若软删除成功,则可以从数据库中彻底删除该条数据。

查询数据

查询时,默认会自动过滤软删除的数据,即查询结果只包含 is_deletedfalse 的数据,也可以设置参数显示软删除过的数据。

导出被软删除的数据

将参数 deleted 设置为 true 即可导出被软删除的数据。

总结

mf-mongoose-softdelete 的使用方式非常简单,对于软删除操作来说是非常方便的。使用该插件可以很好地帮助开发者实现软删除操作,并且也很容易定位软删除的操作者。通过本篇文章,希望读者能快速学习 mf-mongoose-softdelete 的使用,以及在实际项目中对数据进行操作时可以更加灵活的使用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055ead81e8991b448dc264

纠错
反馈