解决方法
最简单的方法是使用补丁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; };
Mongoose为每个查询创建mongoose.Query的新实例,并且setoptions调用是mongoose.Query构造的一部分.
通过修补mongoose.Query类,您将能够在全局范围内转换精益查询.所以你不需要路径所有的mongoose方法(find,findOne,findById,findOneAndUpdate等).
Mongoose使用Query类进行内部调用,如populate.它将原始查询选项传递给每个子查询,因此应该没有问题,但无论如何要小心这个解决方案.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。