我正在使用 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 中的集合本身创建索引。
添加回答
举报
0/150
提交
取消
