31
A
回答
38
您基本上需要創建一個新的上限集合並將文檔複製到它。這可以通過javascript(shell)或您選擇的語言輕鬆完成。
db.createCollection("new", {capped:true, size:1073741824}); /* size in bytes */
db.old.find().forEach(function (d) {db.new.insert(d)});
db.old.renameCollection("bak", true);
db.new.renameCollection("old", true);
注意:只要確保沒有人插入/更新舊的集合,當你切換。如果您在db.eval(「....」)中運行該代碼,它將在運行時鎖定服務器。
有提高現有集合的大小的功能要求:http://jira.mongodb.org/browse/SERVER-1864
40
這是我做的調整上限的集合:
db.runCommand({"convertToCapped": "log", size: 1000000000});
我已經有一個封頂集名爲「日誌」 。所以我只是再次運行「convertToCapped」,指定一個新的大小。我沒有嘗試過減少集合的大小。這可能是你需要使用Scott Hernandez的版本。但是,這適用於在不丟失任何數據或索引的情況下增加加蓋收藏的大小。
編輯: @JMichal是正確的。數據被保留,但索引不是,將需要重新創建。
相關問題
- 1. Android:在不丟失質量的情況下調整位圖大小
- 2. 是否可以在不丟失質量的情況下調整UIImage大小?
- 3. 如何在不拉伸的情況下調整圖像大小?
- 4. 如何在不拉伸的情況下調整圖像大小?
- 5. 如何在不調整大小的情況下旋轉UITextView?
- 6. 如何在不丟失數據的情況下切換UIViews?
- 7. 如何在不丟失形狀的情況下過濾數據?
- 8. Android如何在不丟失質量的情況下縮小圖像大小
- 9. 如何在不失透明度的情況下調整圖標圖像大小?
- 10. 如何在不丟失提交歷史的情況下合併?
- 11. 如何在不丟失UISwipeGestures的情況下調用loadNibNamed?
- 12. 如何在不彙總列的情況下調整sql數據
- 13. 如何在不丟失數據的情況下重命名數據庫?
- 14. 如何在不丟失新數據的情況下回滾數據庫部署?
- 15. 如何在不丟失未刪除數據的情況下快照數據庫?
- 16. 調整大小TinyMCE的情況下調整
- 17. 在這種情況下,td auto如何調整大小?
- 18. 如何在不丟失數據的情況下減少整數數組的長度(二進制數據[0,1])?
- 19. 調整圖像大小而不丟失EXIF數據?
- 20. 如何在不丟失數據的情況下捕獲Linux VM的映像
- 21. SQLite3:如何在不丟失數據的情況下修改fileds的類型
- 22. 如何在不隱藏控件的情況下調整窗口大小
- 23. 如何在不實際調整大小的情況下觸發Control.Resize事件?
- 24. 如何在不裁剪圖像的情況下調整圖像大小?
- 25. 如何在不影響比例的情況下調整動畫片段大小?
- 26. 如何在不調整圖像大小的情況下壓縮PDF?
- 27. 在沒有UIScrollView的情況下調整圖像的大小
- 28. Django - 在不丟失數據的情況下將數據添加到數據庫
- 29. Fluent-ffmpeg如何在不丟失任何聲音的情況下減小輸出文件的大小
- 30. 如何在不丟失索引的情況下轉換熊貓數據框?
適合縮小收藏的尺寸!這應該是正確的答案。 – 2014-07-23 11:39:55
http://docs.mongodb.org/manual/reference/command/convertToCapped/說: 警告 此命令獲取全局寫鎖,並將阻止其他操作,直到它已完成。 – 2014-10-13 12:40:06
但它不保留索引,都必須重新創建 – 2014-10-16 06:54:57