मैंने अभी आपके द्वारा ऊपर वर्णित परिदृश्य की नकल करने की कोशिश की है, जो मेरे अंत में नेवला और मोंगोडीबी के समान संस्करण के साथ है, यह ठीक काम करता है, दस्तावेज़ों को अद्वितीय संपत्ति के बिना बनाया गया (और सहेजा गया) firstName
स्कीमा में फ़ील्ड। मुझे नहीं लगता कि डीबी में आपकी वस्तुओं को सहेजे नहीं जाने का कारण अद्वितीय संपत्ति की अनुपस्थिति है।
साथ ही, अद्वितीय संपत्ति के बिना संग्रह नहीं बनाने का कारण यह है कि जब तक आप संग्रह में डेटा सम्मिलित नहीं करते हैं, तब तक नेवला (या MongoDB स्वयं) एक संग्रह नहीं बनाएगा। अद्वितीय संपत्ति जोड़कर, MongoDB को संग्रह में उस संपत्ति के लिए एक अनुक्रमणिका दस्तावेज़ बनाना होगा जिसके परिणामस्वरूप संग्रह में डेटा जोड़ा जाएगा और यही कारण है कि ऐसा लगता है कि संग्रह अद्वितीय संपत्ति जोड़ने के बाद ही बनाया गया था। तो जबकि db.<collectionName>.find({}
) कुछ भी नहीं लौटा सकता है, db.<collectionName>.getIndexes()
आपको कुछ देगा।