天天看點

【MongoDB】Capped固定集合

    不同于普通集合,固定集合必須在使用之前顯示建立,可以使用create指令建立固定集合。在shell中,可以使用db.createCollection函數:

//建立大小為1024位元組的固定集合
db.createCollection("capped",{capped:true,size:1024});

//建立大小為1024位元組,文檔數量為100的固定集合
db.createCollection("capped",{capped:true,size:1024,max:100});      

    值得注意的是, size參數為必選項, max參數為可選項。不管先達到哪個限制,之後插入的新文檔會把舊文檔擠出集合,固定集合的文檔數量不能超過設定的文檔數量,固定集合的大小也不能超過設定的大小。

    固定集合建立之後,就不能改變了,如需修改固定集合的屬性,就隻能删除後再建立了。是以,在建立大的固定集合之前應該仔細想清楚它的大小。

    除此之外,還可以使用convertToCapped指令将正常集合轉換為固定集合:

db.runCommand({convertToCapped:"test", size:1024, max:100});