2012-11-08 14 views
9

छाया हुआ मैं एक मौजूदा संग्रह है कि मैं एक Capped Collection में परिवर्तित करने के विधि सूचीबद्ध का उपयोग कर की जरूरत है:सेट अधिकतम संग्रह

> db.runCommand({"convertToCapped": "mycoll", size: 100000}); 

हालांकि, अधिकतम क्षेत्र एक पैरामीटर

> db.mycol1.convertToCapped 
function (bytes) { 
    if (!bytes) { 
     throw "have to specify # of bytes"; 
    } 
    return this._dbCommand({convertToCapped: this._shortName, size: bytes}); 
} 
के रूप में स्वीकार नहीं किया है

कोई विचार यह कैसे सेट करें?

उत्तर

6

अधिकतम createCollection विधि में केवल एक विकल्प है, convertToCapped नहीं:

db.createCollection("mycoll", {capped:true, size:100000, max:100}); 

वहाँ एक cloneCollectionAsCapped है, लेकिन वहाँ एक अधिकतम डॉक विकल्प नहीं है की तरह वहाँ यह नहीं दिखता है या तो: http://docs.mongodb.org/manual/reference/command/cloneCollectionAsCapped/

आप कर सकते हैं अधिकतम संग्रह के साथ एक नया कैप्ड संग्रह बनाने और मौजूदा संग्रह से डेटा और सूचकांक स्थानांतरित करने की आवश्यकता है। देखें http://learnmongo.com/posts/easily-move-documents-between-collections-or-databases/

+0

ऐसा लगता है कि सभी डेटा को स्थानांतरित किए बिना संग्रह के गुणों को संपादित करने का कोई तरीका होना चाहिए। मैं ~ 30 मीटर दस्तावेजों के मध्यम आकार के संग्रह के बारे में बात कर रहा हूं, इसलिए एक और सीधी विधि को प्राथमिकता दी जाएगी। – trimbletodd

संबंधित मुद्दे