为了账号安全,请及时绑定邮箱和手机立即绑定

如何使 MongoDB 文档中的字段在设定的时间后发生更改?

如何使 MongoDB 文档中的字段在设定的时间后发生更改?

犯罪嫌疑人X 2023-11-02 22:51:10
我正在使用 JS / Node.JS / Express / MongoDB 构建一个应用程序。用户可以购买列表。该列表作为文档存储在 MongoDB 数据库中。我希望列表在一定时间(例如 30 天)后“过期”。我认为文档中只有一个名为“expired”的布尔字段,默认为 false,但在时间用完后切换为 true。有没有办法使用JavaScript为每个列表附加一个计时器,然后在计时器到期后触发数据库中的更改?
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

您需要为其创建一个 TTL 索引。TTL(生存时间)索引在给定时间后删除文档。

您可以按如下方式创建 TTL 索引:

product.createIndexes({ "lastModifiedDate": 1 }, { expireAfterSeconds: 3600 })

这里的产品是模式。您应该将 lastModifiedDate 更改为您决定在一段时间后删除文档的字段。

您可以使用 Nodejs 中的驱动程序或 mongo shell 中的集合本身创建索引。


查看完整回答
反对 回复 2023-11-02
  • 1 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号