प्रारंभ में आपके पास name
. नामक एक फ़ील्ड थी आपके स्कीमा में, जिसे unique
. पर सेट किया गया था ।
मुझे कैसे पता चलेगा? मुझे ऐसा बताने में त्रुटि के कारण:
duplicate key error index: **iotdb.users.$name_1**
आपने फ़ील्ड का नाम बदलकर username
कर दिया है , लेकिन पुरानी अनुक्रमणिका को नहीं हटाया। डिफ़ॉल्ट रूप से, MongoDB एक गैर-मौजूद फ़ील्ड के मान को null
. पर सेट करेगा उस स्थिति में।
प्रासंगिक दस्तावेज यहां:
<ब्लॉकक्वॉट>यदि किसी दस्तावेज़ में किसी अद्वितीय अनुक्रमणिका में अनुक्रमित फ़ील्ड के लिए कोई मान नहीं है, तो अनुक्रमणिका इस दस्तावेज़ के लिए एक शून्य मान संग्रहीत करेगी। अद्वितीय बाधा के कारण, MongoDB केवल एक दस्तावेज़ की अनुमति देगा जिसमें अनुक्रमित फ़ील्ड की कमी है।
इसे हल करने के लिए, आपको नामित name
. के लिए अनुक्रमणिका को निकालना होगा फ़ील्ड.