如何将 MongoDb 的上限集合转换为非上限集合?
How to convert a MongoDb's capped collection to non-capped collection?
由于某些特定的业务要求,我们将数据存储到 MongoDB 的上限集合中,但现在完整的要求发生了变化,我们希望保留该集合中的所有记录。
我能够找到 "convertToCapped" 命令,但没有找到任何执行反之亦然操作的命令。
如何将其转换回无上限集合?
你可以copy它:
use admin
db.runCommand( { renameCollection: "yourdb.yourcollection", to: "yourdb.oldcapped" } )
use yourdb
db.oldcapped.copyTo("yourcollection")
然后ensure required indexes and create users in uncapped yourcollection
. Run your tests, and if you are happy with results, dropoldcapped
。
不用说应该在维护期间完成 window。
由于某些特定的业务要求,我们将数据存储到 MongoDB 的上限集合中,但现在完整的要求发生了变化,我们希望保留该集合中的所有记录。
我能够找到 "convertToCapped" 命令,但没有找到任何执行反之亦然操作的命令。
如何将其转换回无上限集合?
你可以copy它:
use admin
db.runCommand( { renameCollection: "yourdb.yourcollection", to: "yourdb.oldcapped" } )
use yourdb
db.oldcapped.copyTo("yourcollection")
然后ensure required indexes and create users in uncapped yourcollection
. Run your tests, and if you are happy with results, dropoldcapped
。
不用说应该在维护期间完成 window。