
- MongoDB 教程
- MongoDB - 首頁
- MongoDB - 概述
- MongoDB - 優勢
- MongoDB - 環境
- MongoDB - 資料建模
- MongoDB - 建立資料庫
- MongoDB - 刪除資料庫
- MongoDB - 建立集合
- MongoDB - 刪除集合
- MongoDB - 資料型別
- MongoDB - 插入文件
- MongoDB - 查詢文件
- MongoDB - 更新文件
- MongoDB - 刪除文件
- MongoDB - 投影
- MongoDB - 限制記錄
- MongoDB - 排序記錄
- MongoDB - 索引
- MongoDB - 聚合
- MongoDB - 複製
- MongoDB - 分片
- MongoDB - 建立備份
- MongoDB - 部署
- MongoDB - Java
- MongoDB - PHP
- 高階 MongoDB
- MongoDB - 關係
- MongoDB - 資料庫引用
- MongoDB - 覆蓋查詢
- MongoDB - 分析查詢
- MongoDB - 原子操作
- MongoDB - 高階索引
- MongoDB - 索引限制
- MongoDB - ObjectId
- MongoDB - Map Reduce
- MongoDB - 文字搜尋
- MongoDB - 正則表示式
- 使用 Rockmongo
- MongoDB - GridFS
- MongoDB - 固定大小集合
- 自動遞增序列
- MongoDB 有用資源
- MongoDB - 常見問題解答
- MongoDB - 快速指南
- MongoDB - 有用資源
- MongoDB - 討論
MongoDB - 固定大小集合
固定大小集合是固定大小的迴圈集合,它們遵循插入順序以支援高效能的建立、讀取和刪除操作。迴圈是指,當分配給集合的固定大小用盡時,它將開始刪除集合中最舊的文件,而無需任何顯式命令。
如果更新導致文件大小增加,則固定大小集合會限制對文件的更新。由於固定大小集合按磁碟儲存順序儲存文件,因此它確保文件大小不會增加磁碟上分配的大小。固定大小集合最適合儲存日誌資訊、快取資料或任何其他大量資料。
建立固定大小集合
要建立固定大小集合,我們使用正常的 createCollection 命令,但將 capped 選項設定為 true 並以位元組為單位指定集合的最大大小。
>db.createCollection("cappedLogCollection",{capped:true,size:10000})
除了集合大小之外,我們還可以使用 max 引數限制集合中的文件數量:
>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})
如果要檢查集合是否為固定大小集合,請使用以下 isCapped 命令:
>db.cappedLogCollection.isCapped()
如果您想將現有集合轉換為固定大小集合,您可以使用以下程式碼:
>db.runCommand({"convertToCapped":"posts",size:10000})
此程式碼會將我們現有的集合 posts 轉換為固定大小集合。
查詢固定大小集合
預設情況下,對固定大小集合的 find 查詢將按插入順序顯示結果。但是,如果希望以相反的順序檢索文件,請使用以下程式碼所示的 sort 命令:
>db.cappedLogCollection.find().sort({$natural:-1})
還有一些其他關於固定大小集合的重要點值得了解:
我們無法從固定大小集合中刪除文件。
固定大小集合中沒有預設索引,甚至 _id 欄位也沒有。
插入新文件時,MongoDB 不需要實際查詢磁碟上容納新文件的位置。它可以盲目地將新文件插入到集合的尾部。這使得固定大小集合中的插入操作非常快。
同樣,在讀取文件時,MongoDB 按與磁碟上相同的順序返回文件。這使得讀取操作非常快。
廣告