MongoDB में _id फ़ील्ड को समझना
MongoDB में _id एक अनिवार्य फ़ील्ड है जो प्रत्येक दस्तावेज़ के लिए प्राथमिक कुंजी (Primary Key) के रूप में कार्य करता है। प्रत्येक संग्रह (Collection) में संग्रहीत दस्तावेज़ का एक अद्वितीय _id होना आवश्यक है।
विशिष्ट _id मानों के लिए दस्तावेज़ प्राप्त करने का सिंटैक्स
यदि आप _id मानों की एक सूची के आधार पर दस्तावेज़ प्राप्त करना चाहते हैं, तो $in ऑपरेटर का उपयोग करें:
db.yourCollectionName.find({ _id : { $in : [yourValue1, yourValue2, yourValue3, ...] } } );
उदाहरण: संग्रह बनाना और डेटा डालना
आइए पहले एक डेमो संग्रह selectInWhereIdDemo बनाते हैं और इसमें कुछ दस्तावेज़ डालते हैं:
> db.selectInWhereIdDemo.insertOne({"_id":23}); { "acknowledged" : true, "insertedId" : 23 }
> db.selectInWhereIdDemo.insertOne({"_id":28}); { "acknowledged" : true, "insertedId" : 28 }
> db.selectInWhereIdDemo.insertOne({"_id":45}); { "acknowledged" : true, "insertedId" : 45 }
> db.selectInWhereIdDemo.insertOne({"_id":75}); { "acknowledged" : true, "insertedId" : 75 }
> db.selectInWhereIdDemo.insertOne({"_id":85}); { "acknowledged" : true, "insertedId" : 85 }
> db.selectInWhereIdDemo.insertOne({"_id":145}); { "acknowledged" : true, "insertedId" : 145 }
सभी दस्तावेज़ प्रदर्शित करना
संग्रह के सभी दस्तावेज़ देखने के लिए find() मेथड का उपयोग करें:
> db.selectInWhereIdDemo.find().pretty();
आउटपुट:
{ "_id" : 23 }
{ "_id" : 28 }
{ "_id" : 45 }
{ "_id" : 75 }
{ "_id" : 85 }
{ "_id" : 145 }
विशिष्ट _id मानों की सरणी के लिए क्वेरी करना
अब, मान लीजिए हमें केवल _id 23, 45, 85, और 145 वाले दस्तावेज़ चाहिए:
> db.selectInWhereIdDemo.find({ _id : { $in : [23,45,85,145] } } );
आउटपुट:
{ "_id" : 23 }
{ "_id" : 45 }
{ "_id" : 85 }
{ "_id" : 145 }
नोट: $in ऑपरेटर उन दस्तावेज़ों का चयन करता है जहां फ़ील्ड का मान निर्दिष्ट सरणी में किसी भी मान से मेल खाता है। यह एक ही क्वेरी में कई _id मानों द्वारा दस्तावेज़ प्राप्त करने का सबसे कुशल तरीका है।