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

จะอัพเดตค่าของคีย์ในรายการ json ใน MongoDB ได้อย่างไร?


ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน

> db.updateListOfKeyValuesDemo.insertOne( { "StudentDetails":[ { "StudentName":"John", "StudentAge":23, "StudentCountryName":"US" }, { "StudentName":"Carol", " StudentAge":24, "StudentCountryName":"UK" }, { "StudentName":"Bob", "StudentAge":22, "StudentCountryName":"AUS" } ] } );{ "acknowledged" :true, "insertedId" " :ObjectId("5c9b5b759882024390176545")}

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

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

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

{ "_id" :ObjectId("5c9b5b759882024390176545"), "StudentDetails" :[ { "StudentName" :"John", "StudentAge" :23, "StudentCountryName" :"US" }, { "StudentName" :" Carol", "StudentAge" :24, "StudentCountryName" :"UK" }, { "StudentName" :"Bob", "StudentAge" :22, "StudentCountryName" :"AUS" } ]}

ต่อไปนี้เป็นแบบสอบถามเพื่ออัปเดตค่าของคีย์ในรายการของ json ใน MongoDB

<ก่อนหน้า>> var documentFromCollection =db.updateListOfKeyValuesDemo.findOne({... "_id":ObjectId("5c9b5b759882024390176545")... });>> documentFromCollection.StudentDetails.forEach(function(updateStudent) {... updateStudent .StudentName ="Ramit";... });> db.updateListOfKeyValuesDemo.update (... { "_id":documentFromCollection ._id },... { "$set":{ "StudentDetails":documentFromCollection.StudentDetails } }... );WriteResult({ "nMatched" :1, "nUpserted" :0, "nModified" :1 })

ให้เราตรวจสอบรายการค่าคีย์ว่าอัพเดทหรือยัง

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

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

{ "_id" :ObjectId("5c9b5b759882024390176545"), "StudentDetails" :[ { "StudentName" :"Ramit", "StudentAge" :23, "StudentCountryName" :"US" }, { "StudentName" :" Ramit", "StudentAge" :24, "StudentCountryName" :"UK" }, { "StudentName" :"Ramit", "StudentAge" :22, "StudentCountryName" :"AUS" } ]}