2010-10-19 25 views

cevap

5

Kapaklı koleksiyondan normal - sadece basit kopyalama nesnelerini normal koleksiyona dönüştürmenin ve orijinal kapak koleksiyonunu kaldırmanın yalnızca tek bir yolu var gibi görünüyor.

 

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

Dönüştürmeyi geri almak için herhangi bir komut bulamadım, bu nedenle tek seçeneğin tüm öğeleri yeni bir koleksiyona ayırmak olduğu doğru olmalıdır. Bu bir ayıptır. Umarım bunu başarırlar. –

-1

Sanırım bir yolu var! Bu kurşun geçirmez olup olmadığından emin değilim, ama ben denedim:

db.num_coll.convertToCapped(new_size) 

ve o zamandan beri çalışıyor.

+0

Bu sadece kapaklı koleksiyonun kapasitesini değiştirir, koleksiyonun "çıkarılmaması" anlamına gelir. – Tom

0

, betik kullanılmadan yukarıdakiyle aynıdır.

db.collection.copyTo("collection_temp") 
    db.collection.drop() 
    db.collection_temp.renameCollection("collection") 
İlgili konular