是否可以将压缩添加到mongodb 3.x之前创建的现有集合中?如果是这样,怎么样?
我找到了一个如何使用压缩创建新集合的示例,但我还没有找到任何有关向现有集合添加压缩的策略。 http://www.mongodb.com/blog/post/new-compression-options-mongodb-30
答案 0 :(得分:0)
3.x之前的版本MongoDB只有一个存储引擎 - MMAPv1
仍然不支持压缩。随着3.0 MongoDB引入了可插拔存储引擎,其中一个 - wiredTiger
存储引擎支持压缩。
问题是您不能将使用一个存储引擎(例如MMAPv1
)创建的数据文件与另一个存储引擎(例如wiredTiger
)一起使用。
所以你唯一能做的就是mongodump
,使用另一个数据目录(mongod
)--storageEngine wiredTiger
初始化--dbpath
,然后mongorestore
到新的mongod
实例。
答案 1 :(得分:-1)
有几种方法可以压缩mongodb集合。
1) repair collection using command "mongod --repair"
or by running command "db.repairDatabase()"
2) using db.runCommand({ compact: <collection name> })