我在我的应用程序中制作脚本,不会在路线上工作,但始终有效。 我做了另一个控制器文件,但遇到了问题。我的module.exports不能使用mongoose查询,我的意思是,没有任何反应。其他运营工作。我做错了什么?
const Model = require("model");
module.exports = () => {
setInterval(() => {
console.log('interval');
}, 2000);
Model.findOne({name: 'test'}).then((result) => {
console.log(result);
}).catch((err) => {
console.log(err);
});
}
'间隔'显示,结果不是。在我的其他应用程序中,我做了同样的事情,它的工作没有问题!当然,这些应用程序具有不同的架构,但仍然无法在谷歌找到答案。
更新
我有mongoose连接侦听器
mongoose.connection.on('connected', function () {
console.log("connected");
});
试图把代码放在那里,它也不起作用。
答案 0 :(得分:0)
我看到的第一件事是,如果你想以2秒的间隔运行你的查询,你应该把逻辑放在setInterval
callback
的内部:
setInterval(() => {
console.log('interval');
Model.findOne({ name: 'test' }).then((result) => {
console.log(result);
}).catch((err) => {
console.log(err);
});
}, 2000);
为了能够调试脚本,您可以附加uncaughtException
process.on('uncaughtException', (err) => {
console.error(`Caught exception: ${err}`);
});