前言
在进行 Web 应用开发过程中,数据存储和访问是非常重要的环节之一。而 Mongoose 是一个非常优秀的 Node.js 数据库工具,它能够让我们很方便地与 MongoDB 数据库进行交互操作。在日常业务开发中我们需要高效地操作数据,但是在一些情况下我们会发现查询数据时因为虚拟属性导致性能受到了影响,那么使用 mongoose-lean-virtuals 可以很好的解决这个问题。本文将介绍 mongoose-lean-virtuals 的使用方法,以及如何在 Mongoose 中使用 mongoose-lean-virtuals 提高性能。
什么是 mongoose-lean-virtuals?
mongoose-lean-virtuals 是 mongoose 中的一个插件,它能够在查询 mongoose 模型时忽略虚拟属性。正常情况下,mongoose 查询数据时会查询所有的属性,而包括了虚拟属性,当我们需要查询的数据中含有大量虚拟属性时,查询请求就会变得比较耗时。在这个场景下,使用 mongoose-lean-virtuals 插件能够比较好地优化性能。
如何使用 mongoose-lean-virtuals?
使用 mongoose-lean-virtuals 很简单,只需要在引入 mongoose 库时调用它即可。
const mongoose = require('mongoose'); const mongooseLeanVirtuals = require('mongoose-lean-virtuals'); mongoose.plugin(mongooseLeanVirtuals);
然后我们就可以使用 leanWithVirtuals 方法代替原有的 lean ,这样就能查询到数据却不包括虚拟属性。
-- -------------------- ---- ------- ----- --------- - ---------------------- ------------ ----- ----- - ------------------- ---- -------- --- ----- --------- - ------------ --------- ---- --- ----- --------------------- - ------------------------- ----- ---- - ----- ------------- ----- -------- - ----- ----------------- ----- -------------------- - ----- ----------------------------- ------------------ -- ------ ---------------------- -- ------- ---------------------------------- -- -------
示例代码
-- -------------------- ---- ------- ----- -------- - -------------------- ----- -------------------- - ---------------------------------- -- ------ ----- ---------- - --- ----------------- ----- ------- ---- ------- --- -- ------ ----------------------------------------- - ------ ------------- ------------- --- -------------------------------------- ----- -------- --------- - ----- --------- - ---------------------- ------------ -- ------ ----- ------------------ ----- ----- ---- --- --- -- ---- ----- ----- - ------------------- ----- ---- --- -- ---- ---- ----- --------- - ------------- ----- -------- - ----- ----------------- ---------------------- -- ------ -- ---------------- ---- ----- --------------------- - ------------------------- ----- -------------------- - ----- ----------------------------- ---------------------------------- -- ------- - -- ---- ------ -------- -- - ----- ---------------------------------------------- - ---------------- ----- --------------- ----- ------------------- ----- --- ----- ---------- -----
总结
使用 mongoose-lean-virtuals 能很好地解决性能问题,特别是在查询大量数据时更是明显。当然在虚拟属性不多或者虚拟属性不会影响到查询性能时,我们也可以直接使用 Mongoose 默认提供的 lean 方法来查询。但是在必要情况下,mongoose-lean-virtuals 能够给我们带来很大的便捷与性能提升。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64cb53845ad90b6d041fe93f