Mongoose - 使用 require 引用另一个模型
Mongoose - Referencing another model using require
我想做的是更新一个集合 Prize,然后根据更新结果更新另一个集合 League。
我有以下代码:
app.post('/auth/prize/:prizeId', function(req, res) {
console.log('POST /auth/prize/' + req.params.prizeId);
if (req.user) {
var mess = 'JOINED';
var query = {...};
var update = {...};
Prize.findOneAndUpdate(query, update, function(err, result) {
if (err || result === null) {
mess = 'ERROR Incorrect password';
res.send(mess);
return;
}
var League = require('./leagues_api');
var queryL = {...};
var updateL = {...};
League.findOneAndUpdate(queryL, updateL, function(e, r) {
if (e || r === null) {
mess = 'ERROR Incorrect password';
}
res.send(mess);
});
});
} else {
res.send(401, 'Not Admin!');
}
});
所以,问题是我看到一个错误:
[TypeError: Object #<Object> has no method 'findOneAndUpdate']
我有两个单独的文件来使一切都易于管理,所以我有这个文件 prizes_api.js 和另一个文件 leages_api.js,它在模式和模型中定义了它联赛:
var leagueSchema = new mongoose.Schema({...});
var League = mongoose.model('League', leagueSchema);
我在其他地方使用了相同的样式,但出于某种原因,我在这个文件中看到错误失败。请问有什么建议吗?
谢谢你,加里。
如果调用 require('./leagues_api')
没有返回 League
模型,那么您的 module.exports
没有在该文件中正确设置。
它应该如下所示:
module.exports = League;
我想做的是更新一个集合 Prize,然后根据更新结果更新另一个集合 League。
我有以下代码:
app.post('/auth/prize/:prizeId', function(req, res) {
console.log('POST /auth/prize/' + req.params.prizeId);
if (req.user) {
var mess = 'JOINED';
var query = {...};
var update = {...};
Prize.findOneAndUpdate(query, update, function(err, result) {
if (err || result === null) {
mess = 'ERROR Incorrect password';
res.send(mess);
return;
}
var League = require('./leagues_api');
var queryL = {...};
var updateL = {...};
League.findOneAndUpdate(queryL, updateL, function(e, r) {
if (e || r === null) {
mess = 'ERROR Incorrect password';
}
res.send(mess);
});
});
} else {
res.send(401, 'Not Admin!');
}
});
所以,问题是我看到一个错误:
[TypeError: Object #<Object> has no method 'findOneAndUpdate']
我有两个单独的文件来使一切都易于管理,所以我有这个文件 prizes_api.js 和另一个文件 leages_api.js,它在模式和模型中定义了它联赛:
var leagueSchema = new mongoose.Schema({...});
var League = mongoose.model('League', leagueSchema);
我在其他地方使用了相同的样式,但出于某种原因,我在这个文件中看到错误失败。请问有什么建议吗?
谢谢你,加里。
如果调用 require('./leagues_api')
没有返回 League
模型,那么您的 module.exports
没有在该文件中正确设置。
它应该如下所示:
module.exports = League;