2012-09-03 11 views
5

वहाँ mongoid में किसी भी तरह से लगता है और जब तक यह भी एक में उन्हें हटाने के परमाणु क्वेरी सभी दस्तावेजों एक संग्रह में 'पढ़ा' है?का पता लगाएं और मोंगो में सभी को दूर/mongoid

अब तक मैं उपयोग कर रहा था:

Model.collection.find().to_json 
Model.delete_all 

कौन सा आसानी से उन दोनों के बीच निर्देश संग्रह करने के लिए और अधिक डेटा जोड़कर तोड़ा जा सकता है।

उत्तर

5

उदाहरण के लिए, का नाम बदलकर tmp_cf20c448f824763454ada2c4b2434178 जैसे कुछ अंतर्निहित संग्रह का नाम बदल सकता है। फिर सभी नए लिखने पुराने नाम के साथ एक नए, स्वचालित रूप से बनाए गए संग्रह पर जाएंगे, और आप जल्दबाजी और चिंता के बिना, सभी दस्तावेज पढ़ सकते हैं और फिर बस उस अस्थायी संग्रह को छोड़ सकते हैं।

इस प्रकार की सामग्री आम तौर पर अंतर्निहित रूबी ड्राइवर (10gen के mongo के लिए mongoid 2.x या moped के लिए mongoid 3.x) के लिए अधिक आसानी से किया जाता है।

+0

एक व्यवहार्य समाधान की तरह लगता है, धन्यवाद। –

+0

स्टैक ओवरफ्लो में आपका स्वागत है :)। आपको उन उत्तरों को स्वीकार करना चाहिए जो आपकी समस्या का समाधान करते हैं (बाईं ओर थोड़ा हरा चेकमार्क)। इसके अलावा आप महान उत्तरों को बढ़ा सकते हैं, इससे उत्तरदाताओं को प्रोत्साहित किया जाएगा और समुदाय को पोस्ट की उपयोगीता का संकेत मिलेगा। –

+0

ओह, चेकमार्क नहीं देखा। मैंने ऊपर उठाने की कोशिश की, लेकिन मेरे पास अभी तक पर्याप्त अंक नहीं हैं :) –

9

इसका एक आसान समाधान है। आप कर सकते हैं:

Model.collection.drop 

यह वर्तमान संग्रह को छोड़ देगा, और एक ही नाम के साथ एक नया (बिल्कुल खाली) बना देगा।

+0

आप "सभी पढ़ें" भाग भूल गए :) –

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