我在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中的代码发现回调永远不会执行。 我很难过:(