Leo*_*tny 14
最简单的方法是使用补丁mongoose.Query类来添加默认精益选项:
var __setOptions = mongoose.Query.prototype.setOptions;
mongoose.Query.prototype.setOptions = function(options, overwrite) {
__setOptions.apply(this, arguments);
if (this.options.lean == null) this.options.lean = true;
return this;
};
Run Code Online (Sandbox Code Playgroud)
Mongoose mongoose.Query为每个查询创建新实例,并且setOptions调用是mongoose.Query构造的一部分.
通过修补mongoose.Query课程,您将能够在全球范围内转向精益查询.所以,你不需要路径上的所有mongoose方法(find,findOne,findById,findOneAndUpdate,等).
Mongoose使用Query类作为内部调用,如populate.它将原始Query选项传递给每个子查询,因此应该没有问题,但无论如何要小心这个解决方案.