কম্পিউটার টিউটোরিয়াল

MongoDB-এ প্রাইমারি কি (_id) আউটপুট থেকে বাদ দেওয়া


প্রজেকশনে _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 এক্সক্লুডের সময় অন্য ফিল্ড ইনক্লুড করা যায়)

নেটওয়ার্ক ট্রাফিক কমাতে এবং ক্লায়েন্টে অপ্রয়োজনীয় ডেটা পাঠানোর জন্য প্রজেকশন ব্যবহার করুন।

  1. অ্যাক্সেস টেবিলে প্রাইমারি কী যোগ বা রিমুভ করার পদ্ধতি

  2. পাইথন ডিকশনারি থেকে কি রিমুভ করার পদ্ধতি

  3. Outlook-এ প্রাইমারি অ্যাকাউন্ট পরিবর্তন বা সরানোর পদ্ধতি

  4. কর্পোরেট নেটওয়ার্ক থেকে Skeleton Key ম্যালওয়্যার দূর করার ধাপে ধাপে গাইড