2017-05-11 96 views
0

我有一個標記集合,它有一個'createdAt'日期,mongo會每隔一小時對我過期,我也有一個用戶集合,其中每個用戶都有一個ObjectId列表給他們設置的標記,是有什麼辦法可以在MongoDB到期的時候從用戶標記列表中刪除標記ID?MongoDB TTL Collection

回答

0

報價TTL Index - Delete Operations

在mongod的後臺線程讀取索引值,並從集合中刪除過期文件。

當TTL線程處於活動狀態時,您將在db.currentOp()的輸出或數據庫分析器收集的數據中看到刪除操作。

似乎沒有任何方法可以掛鉤進程。

你可以做的是停止在用戶端保留標記列表,而是在標記本身中保留用戶標識(並根據你將如何存儲引用和查詢來添加適當的索引)。通過這種方式,您可以快速獲取用戶的標記,並且無需擔心列表中的陳舊條目,但需要花費額外的查詢。