在特定时间插入mongodb文件

时间:2018-06-28 08:28:26

标签: node.js mongodb

我想知道是否可以在特定时刻将数据插入数据库中

示例: 我想在3个小时内将文本发送到数据库=>单击客户端上的按钮后,我希望在3个小时内创建文档。

是否可以做这样的事情?

3 个答案:

答案 0 :(得分:0)

您可以像这样简单地使用setTimeOut。

let time = 60000 * 60 * 3;
function myFunc(arg) {
  console.log(`arg was => ${arg}`);
}

setTimeout(myFunc, time, 'funky');

或像这样npm https://www.npmjs.com/package/node-cron

使用cronjob

答案 1 :(得分:0)

我认为这不是创建文档的好方法。我不知道您的问题,但我会以不同的方式解决。

单击按钮可以创建文档。 但是,您将在文档中添加一个新属性,例如active_at,该属性将保存日期值(时间戳或其他)。该值将始终为current date + 3 hours。之后,在您的应用程序中,您必须选择/获取active_at在当前日期之前的文档。这样,您将仅在至少3个小时前创建文档。

答案 2 :(得分:0)

您可以在nodejs后端中使用setTimeout函数:

function myFunc(arg) {
  //Insert text to mongodb
}
setTimeout(myFunc, 10800000); //myFunc will be called after 3 hours (10.8000.000 ms)

您可以在此处找到有关setTimeout函数的更多详细信息:https://nodejs.org/api/timers.html#timers_settimeout_callback_delay_args