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

MongoDB-তে অ্যারের ভেতরের অ্যারেতে ডেটা ইনসার্ট করা ($addToSet ব্যবহার করে)

MongoDB-এ নেস্টেড অ্যারে (অ্যারের ভেতরের অ্যারে) তে ডেটা ইনসার্ট করতে $addToSet এবং পজিশনাল $ অপারেটর ব্যবহার করা হয়।

নমুনা ডেটা তৈরি করা

insertDataIntoArrayDemo কালেকশনে একটি ডকুমেন্ট ইনসার্ট করি যাতে UserDetails অ্যারেতে প্রতিটি অবজেক্টে userGroupMessage নামে একটি অ্যারে থাকে।

> db.insertDataIntoArrayDemo.insertOne(
  {
    "UserDetails":[
      { "UserId" : "user121", "userGroupMessage": [] },
      { "UserId" : "user221", "userGroupMessage": ["Cool","Good Morning"] }
    ]
  }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cd694e157806ebf1256f128") }

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

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

আউটপুট:

{
  "_id" : ObjectId("5cd694e157806ebf1256f128"),
  "UserDetails" : [
    { "UserId" : "user121", "userGroupMessage" : [ ] },
    { "UserId" : "user221", "userGroupMessage" : [ "Cool", "Good Morning" ] }
  ]
}

নেস্টেড অ্যারেতে ডেটা ইনসার্ট করা

UserId: "user121" 가진 এলিমেন্টের userGroupMessage অ্যারেতে "Hello" যোগ করি:

> db.insertDataIntoArrayDemo.update(
  { "UserDetails.UserId": "user121" },
  { "$addToSet": { "UserDetails.$.userGroupMessage": "Hello" } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ফলাফল দেখানো

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

আউটপুট:

{
  "_id" : ObjectId("5cd694e157806ebf1256f128"),
  "UserDetails" : [
    { "UserId" : "user121", "userGroupMessage" : [ "Hello" ] },
    { "UserId" : "user221", "userGroupMessage" : [ "Cool", "Good Morning" ] }
  ]
}

নোট: $ কোয়েরি মেলানো প্রথম এলিমেন্টকে টার্গেট করে। একাধিক এলিমেন্ট আপডেট করতে arrayFilters (MongoDB 3.6+) ব্যবহার করুন।

  1. MongoDB-এ অ্যারেতে এলিমেন্ট পুশ করার পদ্ধতি

  2. MongoDB-তে অ্যারে ইন্টারসেকশনের ডেটা পাওয়া

  3. MongoDB-এ JSON অ্যারের ভেতরের এলিমেন্ট এক্সেস করা (Dot Notation)

  4. MySQL টেবিলে ডেটা ইনসার্ট করতে কীভাবে পারি?