MongoDB之索引(過期索引)
在一些站點會出現若干秒之後資訊被刪除的情況,例如:手機驗證碼。那麼在MongoDB裡面就可以輕鬆實現過期索引,但是這個時間往往不怎麼準確。
範例:設定過期索引,10秒後過期
> db.phones.createIndex({"time":1},{expireAfterSeconds:10})
{
"createdCollectionAutomatically" : true,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
再插入資料:
db.phones.insert({"tel":110,"code":110,"time":new Date()});
db.phones.insert({"tel":111,"code":111,"time":new Date()});
db.phones.insert({"tel":112,"code":112,"time":new Date()});
db.phones.insert({"tel":113,"code":113,"time":new Date()});
db.phones.insert({"tel":114,"code":114,"time":new Date()});
檢視:
> db.phones.find();
{ "_id" : ObjectId("5992b97f0184ff511bf02bb2"), "tel" : 110, "code" : 110, "time" : ISODate("2017-08-15T09:06:07.042Z") }
{ "_id" : ObjectId("5992b97f0184ff511bf02bb3"), "tel" : 111, "code" : 111, "time" : ISODate("2017-08-15T09:06:07.046Z") }
{ "_id" : ObjectId("5992b97f0184ff511bf02bb4"), "tel" : 112, "code" : 112, "time" : ISODate("2017-08-15T09:06:07.084Z") }
{ "_id" : ObjectId("5992b97f0184ff511bf02bb5"), "tel" : 113, "code" : 113, "time" : ISODate("2017-08-15T09:06:07.133Z") }
{ "_id" : ObjectId("5992b9800184ff511bf02bb6"), "tel" : 114, "code" : 114, "time" : ISODate("2017-08-15T09:06:08.142Z") }
>
等到10秒以後(永遠不會那麼準確)鎖儲存的資料就會消失。這樣的特性在進行一些臨時資料儲存的時候非常有幫助。如果沒有這個特性,而使用關係型資料庫是非常麻煩的。
範例:設定過期索引,10秒後過期
> db.phones.createIndex({"time":1},{expireAfterSeconds:10})
{
"createdCollectionAutomatically" : true,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
再插入資料:
db.phones.insert({"tel":110,"code":110,"time":new Date()});
db.phones.insert({"tel":111,"code":111,"time":new Date()});
db.phones.insert({"tel":112,"code":112,"time":new Date()});
db.phones.insert({"tel":113,"code":113,"time":new Date()});
db.phones.insert({"tel":114,"code":114,"time":new Date()});
檢視:
> db.phones.find();
{ "_id" : ObjectId("5992b97f0184ff511bf02bb2"), "tel" : 110, "code" : 110, "time" : ISODate("2017-08-15T09:06:07.042Z") }
{ "_id" : ObjectId("5992b97f0184ff511bf02bb3"), "tel" : 111, "code" : 111, "time" : ISODate("2017-08-15T09:06:07.046Z") }
{ "_id" : ObjectId("5992b97f0184ff511bf02bb4"), "tel" : 112, "code" : 112, "time" : ISODate("2017-08-15T09:06:07.084Z") }
{ "_id" : ObjectId("5992b97f0184ff511bf02bb5"), "tel" : 113, "code" : 113, "time" : ISODate("2017-08-15T09:06:07.133Z") }
{ "_id" : ObjectId("5992b9800184ff511bf02bb6"), "tel" : 114, "code" : 114, "time" : ISODate("2017-08-15T09:06:08.142Z") }
>
等到10秒以後(永遠不會那麼準確)鎖儲存的資料就會消失。這樣的特性在進行一些臨時資料儲存的時候非常有幫助。如果沒有這個特性,而使用關係型資料庫是非常麻煩的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28536251/viewspace-2144103/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MongoDB之索引(地理資訊索引)MongoDB索引
- MongoDB之索引(全文索引)MongoDB索引
- MongoDB之索引(唯一索引)MongoDB索引
- MongoDB之索引(簡介)MongoDB索引
- MongoDB 索引MongoDB索引
- mongodb索引MongoDB索引
- mongodb索引使用MongoDB索引
- mongoDB的索引MongoDB索引
- MongoDB索引概述MongoDB索引
- mongodb建立索引和刪除索引和背景索引backgroundMongoDB索引
- MongoDB學習之豐富的索引MongoDB索引
- MongoDB索引,效能分析MongoDB索引
- mysql索引之字首索引MySql索引
- mongodb 如何檢視索引MongoDB索引
- MongoDB ( 五 )高階_索引MongoDB索引
- MongoDB索引實戰技巧MongoDB索引
- 【Mongo】MongoDB索引管理-索引的建立、檢視、刪除MongoDB索引
- 索引@oracel索引技術之索引最佳化索引
- MongoDB索引優化詳解MongoDB索引優化
- MongoDB中的定時索引MongoDB索引
- 005.MongoDB索引及聚合MongoDB索引
- MongoDB索引的簡單理解MongoDB索引
- MongoDB慢查詢與索引MongoDB索引
- MongoDB複合索引詳解MongoDB索引
- 快速掌握mongoDB(三)——mongoDB的索引詳解MongoDB索引
- 淺談索引系列之索引重建索引
- MySQL索引之空間索引(SPATIAL)MySql索引
- FAQ系列|MySQL索引之聚集索引MySql索引
- 分散式文件儲存資料庫之MongoDB索引管理分散式資料庫MongoDB索引
- MongoDB學習筆記之索引用法和效率分析MongoDB筆記索引
- 一步步學MongoDB之索引操作篇MongoDB索引
- MongoDB索引與優化詳解MongoDB索引優化
- mongodb資料庫如何建立索引?MongoDB資料庫索引
- MongoDB中複合索引結構MongoDB索引
- MongoDB如何在後臺建立索引MongoDB索引
- MongoDB技巧——不要到處使用索引MongoDB索引
- 【MongoDB學習筆記】MongoDB索引那點事MongoDB筆記索引
- MongoDB系列一(索引及C#如何操作MongoDB)MongoDB索引C#