在我使用mongodb的节点应用程序中,我有一个功能,用户可以在其中发布租借书籍,其他用户可以使用“whenDate”请求它们。一个帖子只映射到一本书。
从现在起5天后,考虑用户请求1周的图书。在这种情况下,我想把这本书锁定一个星期,以便在那段时间没有其他人可以请求。
1)我怎么能在NodeJs中实现一个函数在一段时间后执行,考虑到我将拥有它们中的很多?在上述情况下,此功能将在5天后执行,以锁定特定的书籍文档。请同时考虑问题2.
2)如果我重新启动应用程序,我不希望删除这些计时器。我怎样才能做到这一点?
提前致谢。
答案 0 :(得分:0)
您可以使用mongo DB中的TTL功能在生存时间后自动丢弃记录。
我们假设您保留一张包含预订请求的表格,并根据预订时间设置TTL。然后,Mongo DB可以在达到TTL后删除这些预订记录。因此,您的node.js应用程序不需要触发任何作业。