ใช้ $set ในคำสั่ง update
สามารถเพิ่มฟิลด์ใหม่ที่มีโครงสร้างซับซ้อน เช่น อ็อบเจกต์หรืออาร์เรย์ ได้โดยใช้ $set ในคำสั่ง update()
สร้างข้อมูลตัวอย่าง
> db.demo732.insertOne({_id:1,Language:"English"});
> db.demo732.insertOne({_id:2,Language:"Hindi"});
แสดงข้อมูลก่อนเพิ่มฟิลด์
> db.demo732.find();
ผลลัพธ์:
{ "_id" : 1, "Language" : "English" }
{ "_id" : 2, "Language" : "Hindi" }
คิวรีเพิ่มฟิลด์ details (อ็อบเจกต์) และ studentDetails (อาร์เรย์) ให้ _id:1
> db.demo732.update({_id:1},
{ $set:{details:{'subjectName':"MongoDB"}, studentDetails:[{Name:"David"},{CountryName:"US"}]}});
ผลลัพธ์: WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
แสดงข้อมูลหลังอัปเดต
> db.demo732.find();
ผลลัพธ์:
{ "_id" : 1, "Language" : "English", "details" : { "subjectName" : "MongoDB" }, "studentDetails" : [ { "Name" : "David" }, { "CountryName" : "US" } ] }
{ "_id" : 2, "Language" : "Hindi" }