【问题标题】:Is there a way to automatically update a certain field after certain time?有没有办法在特定时间后自动更新特定字段?
【发布时间】:2020-05-31 20:35:21
【问题描述】:

我正在使用 node.js、express.js 和 mongoose 创建一个网站,并且我有一个字段需要在一段时间后更新,所以我的问题是有没有办法做到这一点?或者我必须使用cron?谢谢你的回答。

【问题讨论】:

  • 你需要使用 Cron
  • “更新一个字段”是什么意思?这是你数据库里的东西吗?网页中显示的内容?
  • @jfriend00 我想在 3 次尝试后将用户禁止 30 分钟,这就是为什么我想在 30 分钟后自动更新尝试字段

标签: node.js express mongoose auto-update web-site-project


【解决方案1】:

您不一定需要使用 cron。

例如,您可以使用setTimeout()setInterval() (https://nodejs.org/uk/docs/guides/timers-in-node/) 以尽可能简单的方式在您的应用程序中实现此功能。

此外,还有像 cron (https://www.npmjs.com/package/cron) 这样的库可以为您处理这些超时/间隔,如果您更喜欢 cron 样式的语法而无需处理操作系统端基础架构或没有任何访问它。

【讨论】:

    【解决方案2】:

    禁令到期后,您无需更新字段。相反,请在该禁令到期时确定未来的时间。然后,每当他们尝试连接或登录时,您只需检查该字段中的时间是否已过。如果不是,则不允许他们进入。如果是,则允许他们进入。这比尝试在 30 分钟内清除一个字段要有效得多。只需在现场设置一个 30 分钟的时间,并在他们连接时检查该时间。

    【讨论】:

    • 我这样做了,但是即使密码正确,我也必须在时间到期后单击一个额外的提交按钮,然后单击它会将尝试重置为 0,因此它会再次工作
    • @Gagan - 嗯,这是您实施的副作用,而不是架构问题。如果你愿意,我相信你可以解决这个问题。
    猜你喜欢
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多