我使用的是可放大的mongodb加蓋集合。我想將它的大小設置爲最大值,因爲我不想根據FIFO規則真正刪除最舊的記錄。MongoDB Capped Collection最大允許尺寸
我希望數據儘可能長時間保持封蓋的集合的特徵。
謝謝
我使用的是可放大的mongodb加蓋集合。我想將它的大小設置爲最大值,因爲我不想根據FIFO規則真正刪除最舊的記錄。MongoDB Capped Collection最大允許尺寸
我希望數據儘可能長時間保持封蓋的集合的特徵。
謝謝
您可以使封頂的集合儘可能大;只需將size
參數create_collection
設置爲一個足夠大的值以便不會用盡空間。
像這樣:
db.create_collection('captest', capped=True, size=20000000000)
您使用的大小(以字節爲單位)可以創建加蓋收集,或最大(文件最大數量保持),或兩者在這種情況下:
pymongo - >
self.db.create_collection('system_health_log', capped=True, size=5242880, max=5000)
蒙戈殼 - >
db.createCollection("system_health_log", { capped : true, size : 5242880, max : 5000 })
查看更多here上限集合。
如果您不希望在達到最大尺寸時移除最舊的文檔,您要刪除哪些文檔? – JohnnyHK
理想情況下沒有刪除.....我將插入數據庫只有一段時間。這就是爲什麼我想知道最大尺寸,以確保沒有文件被刪除。 – user94628
只要你明白從封頂集合中刪除任何東西的唯一方法,如果它沒有達到TTL超時或大小上限,就是用'emptycapped'刪除整個集合。您無法刪除單個文檔。 – platforms