MongoDB-এ ইতিমধ্যে তৈরি ডকুমেন্টে নতুন ফিল্ড যোগ করতে $addToSet অপারেটর ব্যবহার করা হয়। এটি ফিল্ড না থাকলে তৈরি করে, থাকলে ডুপ্লিকেট এড়িয়ে যোগ করে।
নমুনা ডেটা তৈরি করা
createFieldDemo কালেকশনে চারটি ডকুমেন্ট ইনসার্ট করি।
> db.createFieldDemo.insertOne({"StudentFirstName":"John","StudentAge":21});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd99e28b50a6c6dd317ad95") }
> db.createFieldDemo.insertOne({"StudentFirstName":"Larry","StudentAge":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd99e2fb50a6c6dd317ad96") }
> db.createFieldDemo.insertOne({"StudentFirstName":"Chris","StudentAge":22});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd99e38b50a6c6dd317ad97") }
> db.createFieldDemo.insertOne({"StudentFirstName":"David","StudentAge":25});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd99e43b50a6c6dd317ad98") }
সকল ডকুমেন্ট দেখানো
> db.createFieldDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd99e28b50a6c6dd317ad95"), "StudentFirstName" : "John", "StudentAge" : 21 }
{ "_id" : ObjectId("5cd99e2fb50a6c6dd317ad96"), "StudentFirstName" : "Larry", "StudentAge" : 23 }
{ "_id" : ObjectId("5cd99e38b50a6c6dd317ad97"), "StudentFirstName" : "Chris", "StudentAge" : 22 }
{ "_id" : ObjectId("5cd99e43b50a6c6dd317ad98"), "StudentFirstName" : "David", "StudentAge" : 25 }
নির্দিষ্ট ডকুমেন্টে নতুন ফিল্ড যোগ করা
_id জানা থাকলে $addToSet দিয়ে StudentLastName ফিল্ড যোগ করি:
> db.createFieldDemo.update(
{ _id: ObjectId("5cd99e43b50a6c6dd317ad98") },
{ $addToSet: { "StudentLastName": "Miller" } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ফলাফল দেখানো
> db.createFieldDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd99e28b50a6c6dd317ad95"), "StudentFirstName" : "John", "StudentAge" : 21 }
{ "_id" : ObjectId("5cd99e2fb50a6c6dd317ad96"), "StudentFirstName" : "Larry", "StudentAge" : 23 }
{ "_id" : ObjectId("5cd99e38b50a6c6dd317ad97"), "StudentFirstName" : "Chris", "StudentAge" : 22 }
{ "_id" : ObjectId("5cd99e43b50a6c6dd317ad98"), "StudentFirstName" : "David", "StudentAge" : 25, "StudentLastName" : [ "Miller" ] }
দ্রষ্টব্য: $addToSet ফিল্ডকে অ্যারে বানিয়ে দেয় (এখানে ["Miller"])। আপনি যদি স্ট্রিং/অবজেক্ট চান তবে $set ব্যবহার করুন: { $set: { "StudentLastName": "Miller" } }। $addToSet` অ্যারে ফিল্ডের জন্য আপ্টিমাইজড।