डिफ़ॉल्ट रूप से, सभी नियमित संग्रह स्वचालित रूप से एक _ id क्षेत्र यदि यह अनुपस्थित है सम्मिलित: तो तुम सिर्फ मैन्युअल _ id जब आप दस्तावेज़ सम्मिलित सेट कर सकते हैं।
हालांकि, इस व्यवहार पर स्पष्ट रूप गलत पर autoIndexId पैरामीटर की स्थापना करके, जब आप संग्रह बनाने बदला जा सकता है।
> db.createCollection("noautoid", { autoIndexId: false })
{ "ok" : 1 }
फिर आप _id फ़ील्ड के बिना दस्तावेज़ सम्मिलित कर सकते हैं। लेकिन कुछ ड्राइवर, जैसे जावास्क्रिप्ट एक (और इसलिए मोंगो कंसोल), _id फ़ील्ड को स्वयं से जोड़ें। मोंगो कंसोल में, आप यह कर सकते हैं:
autoIndexId क्षेत्र के बारे में
> db.noautoid._mongo.insert(db.noautoid._fullName, {name: "Jack"})
> db.noautoid.find()
{ "name" : "Jack" }
अधिक जानकारी MongoDB documentation में पाया जा सकता। यह पृष्ठ कैप्ड कलेक्शन के बारे में है लेकिन autoIndexId फ़ील्ड नियमित और कैप्ड संग्रह दोनों के लिए आम है।
स्रोत
2012-09-12 09:17:16
तरह iam हो रही त्रुटि अपने काम नहीं कर रहा ... –
अब इसकी अनुमति नहीं है - प्रतिकृति के लिए _id फ़ील्ड आवश्यक है और इसलिए हमेशा मौजूद होना चाहिए। –