什么是 Mongoose?
Mongoose 是一个在 Node.js 中使用的 MongoDB 对象建模工具,它可以让 Node.js 程序员更容易地建立基于 MongoDB 的应用程序。
Lean 查询的意义
Mongoose 中的查询结果,缺省情况下是 Mongoose Documents,这意味着他们对象具有许多有意义的 MongoDB 语义化函数,像 save() 或 remove(),但是在 Modal 查询中,这些 function 可能无用。
这种情况下,我们可以使用 Lean(),它在查询方式中增加了执行者效率。它返回纯 JavaScript 查询结果数组。
如何使用 Lean 查询?
在 Mongoose 中将操作结果处理为原生JS对象时,在查询方法上调用 Lean() 方法即可。
-------------------------------- ----- -- ----
在 above example 中,最后我们得到的结果是一个由普通对象组成的数组,没有任何 Mongoose Document 方法和属性。由此,可以消除在数据库中加载对象所必须的开销。但请注意的是,Lean 查询不能用于保存和更新模式,除非您自己创建更新语句。例如:
--------------- - ----- - ----- ---- ----- ------------------
示例代码
----- -------- - -------------------- ----- ------ - ---------------- ----- ------------- - --- -------- ------ - ----- ------- --------- ---- -- -------- - ----- ------- --------- ---- -- ------- - ----- ------- --------- ---- -- --- ----- ------- - ------------------------- --------------- -- ---- ----- ------------- -------------------- -------- -------------------------------- -- - ---------------------- ----------------------- -------- --- -- -- ---- ----- ------------- ------------------ -------- --------------------------------------- -- - ---------------------- --------------------- -------- ---
在 above example 中,我们比较了一个正常的查询和一个使用 Lean 查询的查询,并打印出了两种查询的结果以及调用它们所花费的时间。
使用 Lean 查询,我们可以发现,在不牺牲查询结果的情况下,更高效地完成了查询。
结论
在 Mongoose 中使用 Lean 查询可以提高应用程序的性能,具有极高的效率,在模式查询时使用它是很好的选择。
然而,在数据更新操作中使用 Lean 查询需要注意,需要自行编写更新语句,否则可能会导致数据不一致。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/67231d202e7021665e0e5c44