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

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



犯罪嫌疑人X
浏览 198回答 1
1回答

萧十郎

您需要为其创建一个 TTL 索引。TTL(生存时间)索引在给定时间后删除文档。您可以按如下方式创建 TTL 索引:product.createIndexes({ "lastModifiedDate": 1 }, { expireAfterSeconds: 3600 })这里的产品是模式。您应该将 lastModifiedDate 更改为您决定在一段时间后删除文档的字段。您可以使用 Nodejs 中的驱动程序或 mongo shell 中的集合本身创建索引。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript