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

একই আপডেটে $addToSet একাধিকবার ব্যবহার করা সম্ভব কি?

MongoDB-এ একাধিক $addToSet ব্যবহার

হ্যাঁ, একই আপডেট অপারেশনে $addToSet একাধিকবার ব্যবহার করা সম্ভব। এটি অ্যারেতে ডুপ্লিকেট না হলে নতুন মান যোগ করে।

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

> db.demo27.insertOne({"StudentDetails":{"101":{"Subject":["Java"]}}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e15f9e822d07d3b95082e7f") }
> db.demo27.insertOne({"StudentDetails":{"101":{"Subject":["MySQL"]}}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e15f9eb22d07d3b95082e80") }

আপডেটের আগে ডেটা

> db.demo27.find().pretty();
{
    "_id" : ObjectId("5e15f9e822d07d3b95082e7f"),
    "StudentDetails" : {
        "101" : { "Subject" : [ "Java" ] }
    }
}
{
    "_id" : ObjectId("5e15f9eb22d07d3b95082e80"),
    "StudentDetails" : {
        "101" : { "Subject" : [ "MySQL" ] }
    }
}

$addToSet ব্যবহার করে আপডেট

প্রথম ডকুমেন্টে "MongoDB" বিষয়টি যোগ করা:

> db.demo27.update({}, {$addToSet: {"StudentDetails.101.Subject": "MongoDB"}}, {upsert: true})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

আপডেটের পর ডেটা

> db.demo27.find().pretty();
{
    "_id" : ObjectId("5e15f9e822d07d3b95082e7f"),
    "StudentDetails" : {
        "101" : { "Subject" : [ "Java", "MongoDB" ] }
    }
}
{
    "_id" : ObjectId("5e15f9eb22d07d3b95082e80"),
    "StudentDetails" : {
        "101" : { "Subject" : [ "MySQL" ] }
    }
}

ব্যাখ্যা: কুয়েরি `{}` খালি থাকায় প্রথম ম্যাচ করা ডকুমেন্ট আপডেট হয়। upsert: true মানে যদি কোনো ডকুমেন্ট মেলে না তবে নতুন তৈরি হবে। $addToSet নিশ্চিত করে যে "MongoDB" ইতিমধ্যে থাকলে دوبার যোগ হবে না।

  1. Matplotlib-এ একই অক্ষে একাধিক লেজেন্ড আঁকার পদ্ধতি

  2. উইন্ডোজ একই আপডেট বারবার অফার বা ইনস্টল করছে

  3. একই সাথে একাধিক জিমেইল অ্যাকাউন্ট ব্যবহার করার পদ্ধতি

  4. অ্যান্ড্রয়েডে ডুপ্লিকেট কন্টাক্ট দ্রুত মুছে ফেলুন: সহজ গাইড