Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

เพิ่มคุณสมบัติใหม่ให้กับแต่ละเอกสารในคอลเลกชัน MongoDB ขนาดใหญ่หรือไม่


คุณสามารถใช้คำสั่ง update พร้อมกับ forEach() สำหรับคอลเล็กชันขนาดใหญ่ ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน

>db.addingNewPropertyDemo.insertOne({"StudentName":"John","StudentAge":23,"CountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca1e61866324ffac2a7dc56")
}
>db.addingNewPropertyDemo.insertOne({"StudentName":"David","StudentAge":21,"CountryName":"AUS"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca1e62366324ffac2a7dc57")
}
>db.addingNewPropertyDemo.insertOne({"StudentName":"Bob","StudentAge":21,"CountryName":"UK"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca1e62d66324ffac2a7dc58")
}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้

{
   "_id" : ObjectId("5ca1e61866324ffac2a7dc56"),
   "StudentName" : "John",
   "StudentAge" : 23,
   "CountryName" : "US"
}
{
   "_id" : ObjectId("5ca1e62366324ffac2a7dc57"),
   "StudentName" : "David",
   "StudentAge" : 21,
   "CountryName" : "AUS"
}
{
   "_id" : ObjectId("5ca1e62d66324ffac2a7dc58"),
   "StudentName" : "Bob",
   "StudentAge" : 21,
   "CountryName" : "UK"
}

ต่อไปนี้เป็นแบบสอบถามเพื่อเพิ่มคุณสมบัติใหม่ให้กับแต่ละเอกสารในคอลเลกชันขนาดใหญ่

> db.addingNewPropertyDemo.find().forEach(function(data){ db.addingNewPropertyDemo.update({_id: data._id}, {$set: { StudentNameInUpperCase: data.StudentName.toUpperCase() }}) });

ให้เราตรวจสอบคุณสมบัติใหม่ว่าเพิ่มหรือไม่

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

ต่อไปนี้เป็นผลลัพธ์ที่แสดงคุณสมบัติใหม่เช่นกัน

{
   "_id" : ObjectId("5ca1e61866324ffac2a7dc56"),
   "StudentName" : "John",
   "StudentAge" : 23,
   "CountryName" : "US",
   "StudentNameInUpperCase" : "JOHN"
}
{
   "_id" : ObjectId("5ca1e62366324ffac2a7dc57"),
   "StudentName" : "David",
   "StudentAge" : 21,
   "CountryName" : "AUS",
   "StudentNameInUpperCase" : "DAVID"
}
{
   "_id" : ObjectId("5ca1e62d66324ffac2a7dc58"),
   "StudentName" : "Bob",
   "StudentAge" : 21,
   "CountryName" : "UK",
   "StudentNameInUpperCase" : "BOB"
}

ดูตัวอย่างเอาต์พุตด้านบน คุณสมบัติ StudentNameInUpperCase ถูกเพิ่ม