主要是收攏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});