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

MongoDB-এ ডট নোটেশন দিয়ে নেস্টেড অ্যারেতে অবজেক্ট অ্যাক্সেস করা

MongoDB-এ ডট নোটেশন ব্যবহার করে গভীর নেস্টেড অ্যারে কোয়ারি

যদি ডকুমেন্টে অ্যারে থাকো, তার ভেতরে আবার অবজেক্ট, তার ভেতরেও অ্যারে — এমন কাঠামোতে নির্দিষ্ট মান খুঁজতে ডট নোটেশন ব্যবহার করা হয়। MongoDB স্বয়ংক্রিয়ভাবে অ্যারে ট্রাভার্স করে।

উদাহরণ: জটিল নেস্টেড ডেটা ইনসার্ট

> db.demo299.insertOne({ "id":100, "Name":"Robert", "details":[ { "SubjectName":["C++","Python"] }, { "SubjectName":["Spring","Hibernate"] } ] });
{ "acknowledged" : true, "insertedId" : ObjectId("5e4d685a5d93261e4bc9ea4b") }
> db.demo299.insertOne({ "id":101, "Name":"Adam", "details":[ { "SubjectName":["Python","JSP"] }, { "SubjectName":["Servlet","Operating System"] } ] });
{ "acknowledged" : true, "insertedId" : ObjectId("5e4d685b5d93261e4bc9ea4c") }

সব ডকুমেন্ট দেখানো

> db.demo299.find();

আউটপুট:

{ "_id" : ObjectId("5e4d685a5d93261e4bc9ea4b"), "id" : 100, "Name" : "Robert", "details" : [ { "SubjectName" : [ "C++", "Python" ] }, { "SubjectName" : [ "Spring", "Hibernate" ] } ] }
{ "_id" : ObjectId("5e4d685b5d93261e4bc9ea4c"), "id" : 101, "Name" : "Adam", "details" : [ { "SubjectName" : [ "Python", "JSP" ] }, { "SubjectName" : [ "Servlet", "Operating System" ] } ] }

"Servlet" 가진 ডকুমেন্ট খুঁজা

> db.demo299.find({"details.SubjectName":"Servlet"});

আউটপুট:

{ "_id" : ObjectId("5e4d685b5d93261e4bc9ea4c"), "id" : 101, "Name" : "Adam", "details" : [ { "SubjectName" : [ "Python", "JSP" ] }, { "SubjectName" : [ "Servlet", "Operating System" ] } ] }

ব্যাখ্যা

  • details.SubjectName — MongoDB বুঝতে পারে details অ্যারে, তার প্রতিটি উপাদান অবজেক্ট, তার ভেতর SubjectName অ্যারে।
  • যেকোনো লেভেলে "Servlet" পাওয়া গেলে পুরো ডকুমেন্ট রিটার্ন হয়।
  • শুধু মিলা উপাদান বা নির্দিষ্ট পাথ আনার জন্য $elemMatch বা এggregেশন $project লাগবে।

টিপস: গভীর নেস্টেড কোয়ারিতে ইন্ডেক্সিংয়ের জন্য details.SubjectName ফিল্ডে ইন্ডেক্স তৈরি করুন।

  1. MongoDB-এ নেস্টেড অ্যারে অ্যাগ্রিগেট করার পদ্ধতি

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

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

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