簡體   English   中英

如何在設定的時間后更改 MongoDB 文檔中的字段?

[英]How can I make a field in a MongoDB document change after a set amount of time?

我正在使用 JS / Node.JS / Express / MongoDB 構建應用程序。 用戶可以購買列表。 該列表作為文檔存儲在 MongoDB 數據庫中。 我希望列表在一段時間后(例如 30 天)“過期”。 我在想的只是文檔中名為“過期”的 boolean 字段,默認為 false,但在時間用完后切換為 true。 有沒有辦法使用JavaScript給每個listing附加一個定時器,然后在定時器到期后觸發DB中的變化?

您需要為此創建一個 TTL 索引。 TTL(生存時間)索引在給定時間后刪除文檔。

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

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

這里的產品是模式。 您應該將 lastModifiedDate 更改為您決定在特定時間后刪除文檔的字段。

您可以使用 nodejs 中的驅動程序或 mongo shell 中的集合本身創建索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM