Sai*_*h A 3 javascript triggers mongodb node.js reactjs
我向用户提供一项功能,“他们在下达订单时选择近期的时间和日期。此订单时间和日期存储在数据库中。”
当达到数据库中的时间和日期时,如何触发函数来执行某些操作?
我将分别使用 Node JS、Express JS、Mongo DB、React JS 作为后端、服务器、数据库和前端。我要求的是架构或创建如何执行此操作的触发器,而不是完整的代码。
任何支持 NPM 包的推荐都会有所帮助。谢谢。
注意:这是我第一次使用任何语言开发应用程序。我只是从 Udemy 课程中学到了这些技术。该应用程序将让用户选择未来的日期,当到达未来日期时,应用程序会为他们执行一些功能。
创建订单集合:
const orders = db.collection("orders");
Run Code Online (Sandbox Code Playgroud)
然后在到期日创建索引以加快索引速度:
orders.createIndex({ dueDate: 1 });
Run Code Online (Sandbox Code Playgroud)
现在你可以启动一个服务来获取最低日期,并检查是否已经达到,否则睡眠:
const sleep = ms => new Promise(res => setTimeout(res, ms));
(async function() {
while(true) { // check forever
await sleep(2000);
const cursor = orders.find({ dueDate: { $lte: Date.now() }, processed: false }); // only take those that are done but not yet processed
while(await cursor.hasNext()) {
const order = await cursor.next();
// process order
await orders.updateOne(order, { $set: { processed: true }});
}
}
})();
Run Code Online (Sandbox Code Playgroud)
然后只需将新文档添加到该集合中即可观看神奇的效果:)
orders.insertOne({ processed: false, dueDate: Date.now() + 5000 });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10304 次 |
| 最近记录: |