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

Vip*_*pul 3 mongodb capped-collections

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

我能够找到“convertToCapped”命令,但没有找到任何执行反之亦然操作的命令。

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

Ale*_*lex 6

您可以复制它:

use admin
db.runCommand( { renameCollection: "yourdb.yourcollection", to: "yourdb.oldcapped" } )
use yourdb
db.oldcapped.copyTo("yourcollection")
Run Code Online (Sandbox Code Playgroud)

然后确保所需的索引并在 uncapped 中创建用户yourcollection。运行您的测试,如果您对结果感到满意,请删除 oldcapped

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