2010-10-19 27 views

Respuesta

5

Parece que hay una sola forma de convertir la colección limitada a normal: simplemente copie los objetos a la colección normal y elimine la colección original con el tope.

 

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

no he encontrado ningún comando para revertir simplemente la conversión, por lo que debe ser cierto que la única opción es el sumidero todos los elementos en una nueva colección, que es una lástima. Espero que lo resuelvan. –

-1

¡Creo que hay una manera! No estoy seguro si esto es a prueba de balas, pero lo intenté:

db.num_coll.convertToCapped(new_size) 

y desde entonces está funcionando.

+0

Esto simplemente cambia la capacidad de la colección limitada, no "desmarca" la colección. – Tom

0

igual que el anterior sin usar el script.

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