通过使用查询解决并将其传递到DoSomethingWithDb:
var query = TestModel.findOne({numField: 1});
DoSomethingWithDb = function DoSomethingWithDb(dbMethod, callback, params) {
....
}
我想创建一个像这样调用的方法:
this.DoSomethingWithDb(this.someObject.findOne, conditions, this.RegisterDBCallback, additionalParams);
在DoSomethingWithDb内部我尝试执行查询,但它会引发错误。
myboj.prototype.DoSomethingWithDb = function DoSomethingWithDb(dbMethod, conditions, callback, params) {
dbMethod(conditions, function(err, doc) {
if (err) {
return;
}
if (typeof callback === 'function') {
callback(doc, params);
}
});
};
错误callstack的一部分:
... node_modules \猫鼬\ lib中\ model.js:949 this._applyNamedScope(查询); ^ TypeError:对象#没有方法'_applyNamedScope' 在findOne(... \ node_modules \ mongoose \ lib \ mode l.js:949:8) 在DoSomethingWithDb(.... server.js:2103:2)
答案 0 :(得分:0)
通过使用查询解决并将其传递到DoSomethingWithDb:
var query = TestModel.findOne({numField: 1});
DoSomethingWithDb = function DoSomethingWithDb(query , callback, params) {
....
}