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

MongoDB-এ অ্যারেতে আংশিক অবজেক্ট (Partial Object) দিয়ে ক্যোয়ারি করার পদ্ধতি

MongoDB-এ অ্যারেতে থাকা অবজেক্টের নির্দিষ্ট ফিল্ডগুলো মিলিয়ে ক্যোয়ারি করতে দুটি পদ্ধতি ব্যবহার করা যায়: পূর্ণ অবজেক্ট ম্যাচ এবং ডট নোটেশন।

উদাহরণ

অ্যারে অফ অবজেক্টস সহ ডকুমেন্ট তৈরি করুন:

> db.queryForPartialObjectDemo.insertOne({_id: new ObjectId(), "StudentDetails": [{"StudentId": 1, "StudentName": "Chris"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdfcf55bf3115999ed51206") }

> db.queryForPartialObjectDemo.insertOne({_id: new ObjectId(), "StudentDetails": [{"StudentId": 2, "StudentName": "David"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdfcf55bf3115999ed51207") }

সকল ডকুমেন্ট দেখুন:

> db.queryForPartialObjectDemo.find().pretty();

আউটপুট:

{ "_id" : ObjectId("5cdfcf55bf3115999ed51206"), "StudentDetails" : [ { "StudentId" : 1, "StudentName" : "Chris" } ] }
{ "_id" : ObjectId("5cdfcf55bf3115999ed51207"), "StudentDetails" : [ { "StudentId" : 2, "StudentName" : "David" } ] }

পদ্ধতি ১: পূর্ণ অবজেক্ট ম্যাচ (Exact Object Match)

> db.queryForPartialObjectDemo.find({ StudentDetails: { StudentId: 1, "StudentName": "Chris" } });

আউটপুট:

{ "_id" : ObjectId("5cdfcf55bf3115999ed51206"), "StudentDetails" : [ { "StudentId" : 1, "StudentName" : "Chris" } ] }

শর্ত: অ্যারেতে অবজেক্টটি হুবহু একই ফিল্ড এবং একই আর্ডারে থাকতে হবে। অতিরিক্ত ফিল্ড থাকলে ম্যাচ হবে না।

পদ্ধতি ২: ডট নোটেশন (Dot Notation) — সুপারিশকৃত

> db.queryForPartialObjectDemo.find({ "StudentDetails.StudentName": "Chris" });

আউটপুট:

{ "_id" : ObjectId("5cdfcf55bf3115999ed51206"), "StudentDetails" : [ { "StudentId" : 1, "StudentName" : "Chris" } ] }

সুবিধা:

  • শুধু নির্দিষ্ট ফিল্ড ম্যাচ করে, অন্যান্য ফিল্ড উপেক্ষা করে।
  • অ্যারেতে যেকোনো এলিমেন্টে ম্যাচ করলে ডকুমেন্ট ফেরত দেয়।
  • ইন্ডেক্স ব্যবহার করতে পারে (Single field index on StudentDetails.StudentName)।

সুপারিশ: সাধারণ কেসে ডট নোটেশনই ব্যবহার করুন। পূর্ণ অবজেক্ট ম্যাচ খুব কঠোর।

  1. MongoDB-এ অ্যারে অবজেক্টের নির্দিষ্ট ইনডেক্স আপডেট করা

  2. MongoDB-তে সাবডকুমেন্টের অ্যারে কুয়েরি

  3. MongoDB-এ নেস্টেড অ্যারে সর্ট করা

  4. MongoDB-এ অ্যারেতে ডুপ্লিকেট চেক করা