2012-09-09 17 views
10

मैं "के साथ एक्सप्रेस और नेवला Node.js का उपयोग करते हुए एक RESTful API का विकास" उदाहरण के कोशिश कर रहा हूँ और मैं MongoDB स्कीमा के साथ कोई समस्या हुई थी:MongoDB: हटाने अद्वितीय बाधा

POST: 
{ title: 'My Awesome T-shirt 2', 
    description: 'All about the details. Of course it\'s black.', 
    style: '12345' } 
{ [MongoError: E11000 duplicate key error index: ecomm_database.products.$style_1 dup key: { : "12345" }] 
    name: 'MongoError', 
    err: 'E11000 duplicate key error index: ecomm_database.products.$style_1 dup key: { : "12345" }', 

है एक अनूठा स्कीमा परिभाषा में contraint:

var Product = new Schema({ 
    title: { type: String, required: true }, 
    description: { type: String, required: true }, 
    style: { type: String, unique: true }, 
    modified: { type: Date, default: Date.now } }); 

मैं इसे कैसे छुटकारा पा सकता हूं? जब मैं अद्वितीय हटा देता हूं: ऐप को सही और पुनरारंभ करें, स्कीमा अपडेट नहीं होता है।

मोंगोडब स्कीमा को "बदलता" कैसे संभालता है?

उत्तर

6

"स्कोमा में मोंगोडब हैंडल" कैसे बदलता है "?

MongoDB स्कीमा-कम

वहाँ विशिष्टता केवल एक चीज लागू की जाती है अनुक्रमण स्तर जहां अद्वितीय मानदंडों के साथ एक संग्रह सूचक परिभाषित कर सकते हैं पर है। तो आप संबंधित सूचकांक को हटाना चाहते हैं और यदि आवश्यक हो तो इसे फिर से बनाया जा सकता है।

+8

यह काम किया। संदर्भ के लिए: > ecomm_database > db.products.dropIndexes() का उपयोग करें; , –

+0

"MongoDB है * स्कीमा-कम *" ... क्यों { \t "nIndexesWas": 2, \t "संदेश": 1 :, "गैर-_ id अनुक्रमित संग्रह के लिए गिरा दिया" \t "ठीक है"} तो, स्कीमा डिजाइन पर उनके दस्तावेज़ में एक पूरा खंड है? http://www.mongodb.org/display/DOCS/Schema+Design –

+0

@ZaidMasud: "स्कीमा डिज़ाइन" की तुलना में कम अर्थों के साथ एक प्रक्रिया विवरण "डेटा मॉडलिंग" हो सकता है :)। डेटा को कुछ मामूली आकार लेना पड़ता है (यानी आपको अपने डेटा, प्रश्नों और इंडेक्स की योजना बनाने के लिए * स्कीमा डिज़ाइन * पर विचार करने की आवश्यकता है) .. लेकिन दस्तावेज़ या संग्रह स्तर पर लागू कोई कठोर * स्कीमा * नहीं है। यह प्रति तालिका [निश्चित स्कीमा] (http://en.wikipedia.org/wiki/Information_schema) के SQL दृष्टिकोण से एक अलग विपरीत है, जहां प्रत्येक फ़ील्ड में एक विशिष्ट प्रकार और आकार होता है। – Stennie

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