2010-10-19 110 views
6

在MongoDB中,您可以使用命令convertToCapped将集合转换为封顶集合,但是有没有办法恢复此更改,以便封顶的集合恢复正常?撤销convertToCapped集合

回答

5

似乎只有一种方法可以将封顶集合转换为普通 - 只需简单地将对象复制到普通集合并移除原始封顶集合即可。

 

db.createCollection("norm_coll"); 
var cur = db.cap_col.find() 
while (cur.hasNext()) {obj = cur.next(); db.norm_coll.insert(obj);} 
 
+0

我还没有找到任何命令来恢复转换,所以它必须是唯一的选择是将所有元素转储到一个新的集合,这是一个耻辱。我希望他们解决这个问题。 – 2010-10-20 16:07:29

-1

我想有一种方法!我不知道这是否是防弹的,但我想:

db.num_coll.convertToCapped(new_size) 

从那时起,这是工作。

+0

这只是改变了封顶集合的容量,它并不“解封”集合。 – Tom 2015-07-02 08:27:01

0

与上面相同,不使用脚本。

db.collection.copyTo("collection_temp") 
    db.collection.drop() 
    db.collection_temp.renameCollection("collection")