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

MongoDB-এ ফাইন্ড কুয়েরি থেকে অ্যারে মান রিট্রিভ করা

MongoDB-এ ডট নোটেশন ব্যবহার করে অ্যারে এলিমেন্ট কুয়েরি করা

MongoDB-এ ডকুমেন্টের ভিতরে থাকা অ্যারে অবজেক্টের ফিল্ড দিয়ে কুয়েরি করার জন্য ডট নোটেশন (dot notation) ব্যবহার করা হয়। এটি অ্যারেতে কোনো এলিমেন্টে ম্যাচ করলে পুরো ডকুমেন্ট রিটার্ন করে।

উদাহরণ: ক্লায়েন্ট ডিটেইলস সহ ডকুমেন্ট তৈরি

> db.demo38.insertOne({"ClientDetails":[{"ClientId":101,"ClientName":"Chris"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e176abccfb11e5c34d898d9") }
> db.demo38.insertOne({"ClientDetails":[{"ClientId":102,"ClientName":"David"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e176ac7cfb11e5c34d898da") }
> db.demo38.insertOne({"ClientDetails":[{"ClientId":103,"ClientName":"Mike"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e176ad0cfb11e5c34d898db") }

সমস্ত ডকুমেন্ট

> db.demo38.find();
{ "_id" : ObjectId("5e176abccfb11e5c34d898d9"), "ClientDetails" : [ { "ClientId" : 101, "ClientName" : "Chris" } ] }
{ "_id" : ObjectId("5e176ac7cfb11e5c34d898da"), "ClientDetails" : [ { "ClientId" : 102, "ClientName" : "David" } ] }
{ "_id" : ObjectId("5e176ad0cfb11e5c34d898db"), "ClientDetails" : [ { "ClientId" : 103, "ClientName" : "Mike" } ] }

অ্যারে ভিতরের ClientName="David" দিয়ে কুয়েরি

> db.demo38.find({"ClientDetails.ClientName":"David"});

ফলাফল

{ "_id" : ObjectId("5e176ac7cfb11e5c34d898da"), "ClientDetails" : [ { "ClientId" : 102, "ClientName" : "David" } ] }

গভীরভাবে

  • ClientDetails.ClientName: ডট নোটেশন অ্যারেতে প্রতিটি অবজেক্টের ClientName চেক করে।
  • যদি একই ডকুমেন্টে একাধিক "David" থাকে, তবে ডকুমেন্ট একবার রিটার্ন হবে।
  • শুধু ম্যাচ করা এলিমেন্ট পেতে: db.demo38.find({"ClientDetails.ClientName":"David"}, {"ClientDetails.$": 1}) (প্রজেকশনে $ ব্যবহার)।
  • এলিমেন্টের পজিশন জানতে: অগ্রেশন পাইপলাইন ($indexOfArray) ব্যবহার করুন।
  1. MongoDB-তে অবজেক্টের অ্যারেতে _id দিয়ে খুঁজে বের করা

  2. MongoDB-এ অবজেক্ট অ্যারে থেকে ডISTINCT মান বের করা

  3. MongoDB-এ নির্দিষ্ট মানগুলোর সাথে ম্যাচ হওয়া ডকুমেন্ট খুঁজে বের করা

  4. MongoDB-তে $unset ব্যবহার করে পুরো অ্যারে ফিল্ড মুছে ফেলা