पाठ 4 / 23
कलेक्शन और _id फ़ील्ड
Documents को collections में समूहबद्ध करें, उन्हें relational शब्दों से जोड़ें और auto-generated _id field समझें।
कलेक्शन बनाम टेबल
कलेक्शन संबंधित डॉक्यूमेंट को समूहित करता है, टेबल जैसा। पर टेबल के विपरीत, एक ही कलेक्शन के डॉक्यूमेंट के फ़ील्ड एक जैसे होना ज़रूरी नहीं।
टेबल → कलेक्शन, पंक्ति → डॉक्यूमेंट
मोटे तौर पर: database ↔ database, table ↔ collection, row ↔ document, column ↔ field।
_id फ़ील्ड
हर डॉक्यूमेंट को एक विशिष्ट _id मिलता है — अगर आप न दें तो मोंगोडीबी अपने-आप ObjectId बना देता है।
db.users.findOne()
Output:
{
_id: ObjectId("65f1a2b3c4d5e6f7a8b9c0d1"),
name: "Ada Lovelace"
}त्वरित जाँच: अगर आप बिना _id के डॉक्यूमेंट इन्सर्ट करें तो क्या होता है?
- इन्सर्ट विफल हो जाता है
- _id null रह जाता है
- मोंगोडीबी अपने-आप एक ObjectId बना देता है
- यह document को trash collection में रखता है
Answer
मोंगोडीबी अपने-आप एक ObjectId बना देता है — मोंगोडीबी हमेशा एक विशिष्ट _id सुनिश्चित करता है, न दिए जाने पर ObjectId बना देता है।