从Azure webjob nodejs调用MongoDB查找不会调用回调函数

时间:2016-01-01 17:18:34

标签: node.js mongodb azure azure-webjobs

我在azure中创建了一个NodeJS webjob,每天执行一次。 在run.js中,我从MongoDB集合中检索一些文档,并需要为每个文档执行一些代码。 作业成功运行,但不起作用。 (代码在我的本地机器上正常运行) 这是相关的代码。

var connectionString = config.MG_USER + ':' + config.MG_PWD + '@' + config.MG_SERVER + '/' + config.MG_DBNAME;
mongoose.connect(connectionString, function (err) {
    if (err) {
        console.log('Error: ');
        console.log(err);
    }
    else {
        console.log('Connected to DB'); //this shows up in the log.
        sendReminders();
    }
});

var sendReminders = function () {
    //read appointments from MongoDB
    var startDate = new Date(); // this is the starting date that looks like ISODate("2014-10-03T04:00:00.188Z")
    startDate.setSeconds(0);
    startDate.setHours(0);
    startDate.setMinutes(0);
    startDate.setMilliseconds(0);
    startDate = moment(startDate).add(1, 'days');

    //console.log(startDate.toISOString());
    Appointment.find({appointmentDate: startDate}).populate("_userId").exec(function (err, appointments) {
        console.log('data'); //This NEVER executes
        if (err) {
            processError(err);
        }
        else if (!appointments.length) {
            console.log('no appointments');
            process.exit();
        }
        else {
            console.log(appointments.length + ' appointments');
            sendMessages(appointments);
        }
    });
};

MongoDB中的代码发现回调永远不会执行。 我很难过:(

0 个答案:

没有答案