MongoDB應用——Capped集合

Capper集合是固定大小的集合,有很高的性能及過期特性:即創建時要預先指定大小,如果空間用完,新的對象將會取代集合中最舊的對象

一. 特性:

用find查詢返回插入順序,用find().sort($natural:-1)返回倒序

二. 使用約束:

可以添加,但不能對Capped Collection中的數據進行刪除,但可以使用drop方法刪除collection中的所有行,刪除之後需要重新創建這個Collection

三. 創建Capped Collection

db.createCollection(" mycappedcoll ", { "capped":true, "size" : 100000 }) 
//指定size空間大小,返回{"ok" : 1}成功創建

四. 限制Capped Collection中對象的個數

db.createCollection(" mycappedcoll ", { "capped":true, "size" : 100000" max " : 100})
//限定個數爲100

查詢存儲空間:

 db.mycappedcoll.validate( )
 //存儲最近對象的版本號方法就是把max = 1

默認情況下Capped Collection不會創建_id索引,需要用到autoIndexId

db.createCollection(" mycappedcoll ", { "capped":true, "size" : 100000"autoIndexId" : true})

五. 注意事項:

① 當寫比讀多時,建議不要在Capped Collection上創建索引,會降低速度
② 沒有指定順序,返回結果就是按照插入順序排序,使用nature ordering可以有效檢索最近插入的元素
③ createCollection還可以創建一般的集合,有參數autoIndexID決定是否需要在_id字段上創建索引
④Capped集合大小固定,經常被刷新,所以不能被Shard

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章