2015-04-23 75 views

回答

0

假設您知道TTL索引字段以及您在其上設置的TTL時間,那麼您可以執行此查詢。它基本上是TTL機制定期進行的工作。

db.collection.remove({ fieldWithTimeToLiveIndex: { $lt: new Date() - TTLTime } }); 
+0

嗯...幾乎可行(也很好知道)。我的使用案例是我想測試內置機制將如預期的那樣刷新內容。 (但是想要觸發它而不是等待它自己運行) – CasualT

0

爲什麼要這麼做? TTL監視器不是限制結果的工具,而是清理數據庫的工具。因此,而不是手動觸發TTL,將搜索結果限制在查詢:

db.collection.find({..., dateField: {$gt: someExpirationDate} }) 

這樣做的優點是更可靠的,因爲它不會返回結果它們只是被刪除,但也仍然是。

+0

例如。我給你一些指示,然後等待看看我是否以你理解的方式寫下了這些說明,但我希望你現在就做,而不是你喜歡它。 – CasualT

+0

給你說明,然後自己進去解釋它們並不能幫助我驗證它們是否是你理解的格式。 – CasualT

相關問題