MongoDB:Capped Collection

Han
阿Han的圖文解字筆記
Nov 2, 2020

主要是收攏documents的容器, 可以支援各種不同結構的document。

圖片來源

命名的限制

  • 不能為空字串。
  • 不能以system開頭, 這是系統集合保留的前綴。

Collection的種類

圖片來源

Capped Collection

圖片來源

特點

  • 超過配置大小, 新增時當超過配置限額時, 會先從最早的document刪除後再append新的document。
  • 更新時不能超過size限制。
  • 不能刪除單一document, 只能刪除整個collection的documents。
  • 適用於log。
  • 適用於快取。

建立方式

db.createCollection('errorLogs', {
capped: true,
size: 100000,
limit: 1000
})
  • size: 整個集合的空間大小。
  • limit: 文檔數的上限。
  • 這兩個參數的判斷邏輯為or
  • Capped Collection無法轉換成Normal Collection。
圖片來源

檢查Collection是否為Capped

db.collection.isCapped()

已經宣告的Collection如何轉換為Capped?

db.runCommand({"convertToCapped": "$collectionName", size: 100000});

--

--