প্রজেকশনে _id এক্সক্লুড করা
MongoDB-এ find() কোয়েরিতে প্রজেকশন ডকুমেন্ট দিয়ে _id ফিল্ড আউটপুট থেকে বাদ দেওয়া যায়। ডিফল্টভাবে _id সবসময় রিটার্ন হয়।
নমুনা ডেটা তৈরি
> db.demo471.insertOne({ "ClientId": 101, "ClientName": "Chris" })
> db.demo471.insertOne({ "ClientId": 102, "ClientName": "Bob" })
> db.demo471.insertOne({ "ClientId": 103, "ClientName": "David" })
সমস্ত ডকুমেন্ট দেখানো (with _id)
> db.demo471.find()
আউটপুট:
{ "_id": ObjectId("..."), "ClientId": 101, "ClientName": "Chris" }
{ "_id": ObjectId("..."), "ClientId": 102, "ClientName": "Bob" }
{ "_id": ObjectId("..."), "ClientId": 103, "ClientName": "David" }
_id বাদ দিয়ে শুধু ClientName দেখানো
> db.demo471.find({}, { _id: 0, ClientId: 0 })
ফলাফল:
{ "ClientName": "Chris" }
{ "ClientName": "Bob" }
{ "ClientName": "David" }
ব্যাখ্যা
find(query, projection): দ্বিতীয় প্যারামিটার প্রজেকশন অবজেক্ট{ _id: 0, ClientId: 0 }: _id এবং ClientId এক্সক্লুড (০), বাকি সব ইনক্লুড (১)_idএকমাত্র ফিল্ড যা ডিফল্টভাবে ইনক্লুডড থাকে, এক্সক্লুড করতে স্পেসিফাই করতে হয়- নেস্টেড ফিল্ড এক্সক্লুড:
{ "Information.Name": 0 } - মিক্সড মোড (কিছু ইনক্লুড কিছু এক্সক্লুড) সমর্থিত নয় (শুধু _id এক্সক্লুডের সময় অন্য ফিল্ড ইনক্লুড করা যায়)
নেটওয়ার্ক ট্রাফিক কমাতে এবং ক্লায়েন্টে অপ্রয়োজনীয় ডেটা পাঠানোর জন্য প্রজেকশন ব্যবহার করুন।