首页 > 解决方案 > 使用 Mongoose 创建一个在 NodeJS 中过期的实体

问题描述

我想创建一个在一个月内到期的实体(广告)。如何在 NodeJS 和 MongoDB 中做到这一点?完美的例子是 instagram/facebook 故事,它会在一天后过期。

标签: javascriptnode.jsmongodbexpressweb

解决方案


使用expiration属性并将其设置为未来的某一天。您可以使用类似的软件包moment来执行此操作。

然后,如果用户尝试检索过期的帖子,只需使用 404 状态码进行响应。

如果要清理它,请使用cron清理过期广告的任务。

let ad = {...ad, expiration: moment().add(1, "days").valueOf()}

时刻:https ://momentjs.com/

cron:https ://crontab.guru/

cron 理想情况下会向端点运行脚本或获取请求,以删除过期条目。

没有办法只告诉 Mongo 在 1 天后删除文档。


推荐阅读