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

MongoDB-এ অবজেক্টের ভেতরের অ্যারে থেকে ডেটা কিভাবে খুঁজে বের করবেন?

MongoDB-এ নেস্টেড অবজেক্টের ভেতরের অ্যারে থেকে ডেটা খুঁজে বের করতে ডট নোটেশন (dot notation) ব্যবহার করুন।

উদাহরণ

নেস্টেড স্ট্রাকচার সহ ডকুমেন্ট তৈরি করুন:

> db.findDataDemo.insertOne({
    "_id": new ObjectId(),
    "CustomerName": "John",
    "CustomerDetails": {
        "CountryName": ["AUS"],
        "isMarried": [false]
    }
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefa5eeef71edecf6a1f6a5") }

> db.findDataDemo.insertOne({
    "_id": new ObjectId(),
    "CustomerName": "Carol",
    "CustomerDetails": {
        "CountryName": ["UK"],
        "isMarried": [true]
    }
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefa60aef71edecf6a1f6a6") }

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

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

আউটপুট:

{ "_id" : ObjectId("5cefa5eeef71edecf6a1f6a5"), "CustomerName" : "John", "CustomerDetails" : { "CountryName" : [ "AUS" ], "isMarried" : [ false ] } }
{ "_id" : ObjectId("5cefa60aef71edecf6a1f6a6"), "CustomerName" : "Carol", "CustomerDetails" : { "CountryName" : [ "UK" ], "isMarried" : [ true ] } }

CountryName = "UK" olan ডকুমেন্ট খুঁজে বের করা

> db.findDataDemo.find({"CustomerDetails.CountryName": "UK"});

আউটপুট:

{ "_id" : ObjectId("5cefa60aef71edecf6a1f6a6"), "CustomerName" : "Carol", "CustomerDetails" : { "CountryName" : [ "UK" ], "isMarried" : [ true ] } }

ব্যাখ্যা: CustomerDetails.CountryName ডট নোটেশন ব্যবহার করে নেস্টেড অবজেক্টের ভেতরের অ্যারে ফিল্ডে ক্যোয়ারি করা হয়েছে। MongoDB অটোমেটিক্যালি অ্যারেতে মানটি খুঁজে বের করে।

টিপ: যদি অ্যারেতে একাধিক মান থাকে, তবে যেকোনো একটি মিলিলেও ডকুমেন্ট ফেরত দেবে। নির্দিষ্ট পজিশনের জন্য $elemMatch ব্যবহার করুন।

  1. MongoDB-এ অ্যারেতে অবজেক্টের অংশ থেকে কুয়েরি করা

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

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

  4. MongoDB-এ অ্যারে অবজেক্টের মধ্যে একাধিক শর্ত ম্যাচ করা