2015-09-22 26 views
0

我需要刪除mongodb文件後指定的一段時間不被訪問。自動刪除mongodb文檔後​​不活動

我有一個訪問令牌,用於從外部源檢索數據並將其保存在我的數據庫中。

在我的會議我存儲的用戶ID,我可以使用,當用戶發出請求檢索訪問令牌。

如果我的會話過期,保存在我的數據庫中的訪問令牌將永遠不會再使用。

用戶將被提示重新進行身份驗證和新的訪問令牌將被保存在數據庫中。

如果用戶明確註銷,我可以輕鬆地從數據庫中刪除現在無效的訪問令牌。但是,如果他們從未註銷並且會話過期,那麼數據庫條目將無限期地保留。

我想過期滿檢測會話和運行功能,從我的數據庫,但如果會話時,應用程序沒有運行期滿什麼刪除關聯的訪問令牌。

我想我需要某種像cron作業什麼的在我的數據庫不被訪問的具體時間後,將刪除的文件維護,

我怎麼會去了解這個跟MongoDB的?

+2

顯示要刪除內容的文檔定義。但是你真的應該通過在線手冊直接關注[通過設置TTL從集合中過期數據](http://docs.mongodb.org/manual/tutorial/expire-data/)。 –

+0

您可以在每條記錄中存儲'lastAccessTime'(每次訪問時都更新它),運行調度程序,刪除lastAccessTime大於指定時間段的所有記錄。 –

+0

文檔定義只是{id:String,accessToken:String},我不認爲TTL是我正在尋找的,因爲我希望文檔在定期訪問時保留。如果在特定時間段內處於非活動狀態,請將其刪除。我將研究nodejs中的調度作業(我從來沒有這樣做過),並使用HarshPatel建議的lastAccessTime – jalbasri

回答

0

發現this疑問,回答我的問題。

基本上設置一個TTL並更新數據訪問時的創建日期以達到我想要的行爲。