微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – Mongoose:有没有办法将默认值设置为true(始终打开)?

我有一个只读API,我希望Mongoose总是有 lean queries.

我可以在架构或连接级别启用此功能,认情况下为true吗?

解决方法

最简单的方法是使用补丁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 举报,一经查实,本站将立刻删除。

相关推荐