javascript - 使用 Mongoose 创建一个在 NodeJS 中过期的实体
问题描述
我想创建一个在一个月内到期的实体(广告)。如何在 NodeJS 和 MongoDB 中做到这一点?完美的例子是 instagram/facebook 故事,它会在一天后过期。
解决方案
使用expiration
属性并将其设置为未来的某一天。您可以使用类似的软件包moment
来执行此操作。
然后,如果用户尝试检索过期的帖子,只需使用 404 状态码进行响应。
如果要清理它,请使用cron
清理过期广告的任务。
let ad = {...ad, expiration: moment().add(1, "days").valueOf()}
cron 理想情况下会向端点运行脚本或获取请求,以删除过期条目。
没有办法只告诉 Mongo 在 1 天后删除文档。
推荐阅读
- jquery - 单击选项后折叠悬停下拉菜单
- python - 为什么在 Python 中 `50 << 6` 为真,而 `50 >> 6` 为假?
- python - 在公司的 SAML 背后工作并获得证书验证失败
- javascript - 如何仅使用 reddit json 选择图像?
- reactjs - 如何在渲染之前重定向?
- wordpress - 如何更改 Wordpress 管理栏我的帐户资料 URL
- reactjs - React 的问题“无法读取 null 的属性‘addEventListener’”
- plugins - 在 Mac 上安装 Atom term3 包的问题
- python - 在不使用嵌套 for 循环的情况下替换字符的最佳算法是什么?
- c# - 使用 IHttpActionResult 删除函数