如何将MongoDb的上限集合转换为非上限集合?

时间:2016-02-06 21:30:42

标签: mongodb capped-collections

由于某些特定的业务需求,我们将数据存储到MongoDB的上限集合中,但现在完整的需求已更改,我们希望保留该集合中的所有记录。

我能够找到" convertToCapped"命令但没有找到执行反之亦然操作的命令。

如何将其转换回非上限集合?

1 个答案:

答案 0 :(得分:3)

你可以copy

use admin
db.runCommand( { renameCollection: "yourdb.yourcollection", to: "yourdb.oldcapped" } )
use yourdb
db.oldcapped.copyTo("yourcollection")

然后ensure要求索引和create用户处于无上限yourcollection。运行测试,如果您对结果感到满意,请drop oldcapped

不用说它应该在维护窗口内完成。