导出mongoose查询功能

时间:2017-08-23 12:27:10

标签: node.js mongodb mongoose

我在我的应用程序中制作脚本,不会在路线上工作,但始终有效。 我做了另一个控制器文件,但遇到了问题。我的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");
});

试图把代码放在那里,它也不起作用。

1 个答案:

答案 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}`);
});