1. 程式人生 > >設定mongodb定時清除文章

設定mongodb定時清除文章

轉自:http://www.cnblogs.com/huangxincheng/p/5718038.html

    現在我想大家對ttlIndex有了大概的認識了,下面我們看看怎麼建立,我使用的GUI工具是robomongo,大家可以在官網上下載一下即可。。。然後我們

要查詢一下https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex,看看這種collection

怎麼建立。

db.collection.createIndex(keys, options)

從這個options中的expireAfterSeconds引數來看,這個value是一個int,並且是以second為單位,然後我們可以看到,這個ttlIndex是需要建立在docment

的field上面的,然後我們繼續往下看。

1 To create a TTL index, use the db.collection.createIndex() method with the expireAfterSeconds option on a field whose value is either a date or an array that contains date values.

從這句話中其實可以看到,這個field欄位要麼是date,要麼是array中含有date欄位,ok,看完這裡,我們都明白了,接下來,我們建立一個簡單的planeollection,

並且date的過期時間是2s,主要是用來測試一下嘛。。。

ok,其實就是這麼簡單,然後我們過60s之後再檢視一下資料,可以看到,資料已經沒有啦~~~

可能有些人就有疑問了,為什麼這裡要說最多60s之後再檢視資料,當然是有原因的,因為mongod有一個background task,60s啟動一次進行index scan,

如果過期,那麼就會進行清除,不信的話,你可以看下官網的描述哦。