gpt4 book ai didi

node.js - 如何覆盖 Mongoose 插件的功能?

转载 作者:可可西里 更新时间:2023-11-01 09:17:11 27 4
gpt4 key购买 nike

我在 mongoose 中有一个插件,对于每个模式,我正在执行以下操作

var user = new Schema({});
user.plugin(myplugin);
user.statics.createCustomDoc = function() {
.....
}

问题是 createCustomDoc 方法也在 myplugin 中定义。现在我想用定义为 user.statics.createCustomDoc 的方法覆盖 myplugin 的 createCustomDoc

目前调用的方法来自插件,而不是我在 user.statics.createCustomDoc 中编写的方法。

我该怎么做?

当然,我不想更改函数名称,也不想删除插件,也不想更改插件代码。

最佳答案

我在覆盖 mongoose 查询函数时遇到了类似的问题并尝试了类似的方法并且它有效

//store reference to original myPlugin createCustomDoc function
var createCustomDoc = user.statics.createCustomDoc;

//override that function
user.statics.createCustomDoc = function (options, callback) {
var self = this;
//after your code, call original function
createCustomDoc.call(self, options, callback);

}

关于node.js - 如何覆盖 Mongoose 插件的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22731875/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com