MongoDB find() में प्रोजेक्शन का उपयोग करके _id फील्ड को बाहर करना
MongoDB में, find() मेथड का दूसरा आर्ग्युमेंट एक प्रोजेक्शन डॉक्यूमेंट स्वीकार करता है जो निर्दिष्ट करता है कि कौन से फील्ड्स शामिल या बाहर किए जाएं। { _id: 0 } सेट करके, आप परिणामों से _id फील्ड को दबा सकते हैं।
सिंटैक्स
db.yourCollectionName.find({}, { _id: 0 });
नमूना डेटा बनाना
> db.excludeIdDemo.insertOne({"CustomerName":"Larry"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7f62c1a844af18acdffb9") }
> db.excludeIdDemo.insertOne({"CustomerName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7f6311a844af18acdffba") }
> db.excludeIdDemo.insertOne({"CustomerName":"Mike"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7f6351a844af18acdffbb") }
> db.excludeIdDemo.insertOne({"CustomerName":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7f6381a844af18acdffbc") }
डिफ़ॉल्ट आउटपुट (with _id)
> db.excludeIdDemo.find().pretty();
आउटपुट:
{ "_id" : ObjectId("5cd7f62c1a844af18acdffb9"), "CustomerName" : "Larry" }
{ "_id" : ObjectId("5cd7f6311a844af18acdffba"), "CustomerName" : "Chris" }
{ "_id" : ObjectId("5cd7f6351a844af18acdffbb"), "CustomerName" : "Mike" }
{ "_id" : ObjectId("5cd7f6381a844af18acdffbc"), "CustomerName" : "Bob" }
_id के बिना क्वेरी करना
> db.excludeIdDemo.find({}, { _id: 0 });
आउटपुट:
{ "CustomerName" : "Larry" }
{ "CustomerName" : "Chris" }
{ "CustomerName" : "Mike" }
{ "CustomerName" : "Bob" }
व्याख्या
- पहला आर्ग्युमेंट
{}- खाली फ़िल्टर (सभी डॉक्यूमेंट्स)। - दूसरा आर्ग्युमेंट
{ _id: 0 }- प्रोजेक्शन: _id को बाहर करें, अन्य सभी फील्ड्स शामिल करें। - आप अन्य फील्ड्स को भी बाहर कर सकते हैं:
{ _id: 0, secretField: 0 }। - आप फील्ड्स को शामिल भी कर सकते हैं:
{ _id: 0, CustomerName: 1 }(केवल CustomerName)।
महत्वपूर्ण नियम
- आप एक ही प्रोजेक्शन में इन्क्लूजन (1) और एक्सक्लूजन (0) को मिश्रित नहीं कर सकते _id के अपवाद के साथ।
{ _id: 0, name: 1 }मान्य है ( _id को बाहर करता है, name शामिल करता है)।{ name: 1, age: 0 }अमान्य है (इन्क्लूजन और एक्सक्लूजन मिश्रित)।
एग्रीगेशन में उपयोग
db.collection.aggregate([
{ $project: { _id: 0, CustomerName: 1 } }
]);