2012-03-05 13 views
24

मैं एक संग्रह मैं ड्रॉप करने में असमर्थ हूँ है में विशेष वर्ण के साथ कार्य करना, मैं यह सोचते हैं रहा है कि "-" अपने नाम में एक विशेष चरित्र है। MongoDB में, विशेष वर्ण से बचने के लिए सबसे अच्छा तरीका क्या है?एक मोंगो संग्रह

> db.tweets.drop(); 
true 

लेकिन

> db.tweets-old.drop(); 
ReferenceError: old is not defined (shell):1 

मैं उद्धरण (दोनों सिंगल और डबल) और एक स्लैश के साथ भागने की कोशिश की है, लेकिन कुछ भी काम करता है।

उत्तर

52

निम्नलिखित काम करता है:

db["tweets-old"].drop(); 

यह square bracket notation कहा जाता है, जो आप संपत्ति के नाम में विशेष वर्ण का उपयोग करने की अनुमति देता है।

+0

:) .. मैं छोड़ दी थी और संग्रह का नाम बदल दिया है, लेकिन हाँ यह काम करता है !! – Mahesh

3

तो करता है:

db.getCollection("tweets-old").drop() 

और वह अब थोड़ी देर के लिए चारों ओर हो गया है।

इसके अलावा, विधि कॉल भी की नकल करता सामान्य "एक संग्रह मिल" एक्सेसर सभी आधिकारिक तौर पर समर्थित MongoDB ड्राइवरों में विधि क्या है। तो सुझाव है कि यहाँ आप, यह इस तरह का उपयोग कर आदत हो के बाद से "नाम संग्रह" एक्सेसर कि यह कैसे आम तौर पर किया जाता है है।

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