Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,允许开发者使用 JavaScript 编写服务器端的应用程序。node-cron
是一个 Node.js 库,用于在特定时间执行预定的任务(cron作业)。MongoDB 是一个流行的 NoSQL 数据库,用于存储大量的非结构化数据。
node-cron
安排的任务。以下是一个使用 node-cron
和 MongoDB 的示例代码,以及如何调试和解决问题。
const cron = require('node-cron');
const { MongoClient } = require('mongodb');
// MongoDB 连接字符串
const uri = 'mongodb://localhost:27017';
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
// 连接到 MongoDB
async function connect() {
try {
await client.connect();
console.log('Connected to MongoDB');
} catch (error) {
console.error('Failed to connect to MongoDB', error);
}
}
// 执行查询
async function runQuery() {
try {
const database = client.db('testdb');
const collection = database.collection('testcollection');
const query = { status: 'active' };
const result = await collection.find(query).toArray();
console.log('Query result:', result);
} catch (error) {
console.error('Failed to run query', error);
}
}
// 设置定时任务
cron.schedule('*/5 * * * *', async () => {
console.log('Running scheduled task...');
await runQuery();
});
// 连接到 MongoDB 并启动定时任务
connect();
cron.schedule
中的表达式正确无误。uri
正确,并且 MongoDB 服务正在运行。console.log
或使用日志库记录日志,以便跟踪作业的执行情况。通过以上步骤,你应该能够诊断并解决 node-cron
作业中未调用 MongoDB 查询的问题。
领取专属 10元无门槛券
手把手带您无忧上云