Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu
> 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") }
Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find ()
> db.updateListOfKeyValuesDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau
{ "_id" : ObjectId("5c9b5b759882024390176545"), "StudentDetails" : [ { "StudentName" : "John", "StudentAge" : 23, "StudentCountryName" : "US" }, { "StudentName" : "Carol", "StudentAge" : 24, "StudentCountryName" : "UK" }, { "StudentName" : "Bob", "StudentAge" : 22, "StudentCountryName" : "AUS" } ] }
Sau đây là truy vấn cập nhật giá trị của khóa trong danh sách json trong 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 })
Hãy để chúng tôi kiểm tra danh sách các giá trị chính đã được cập nhật hay chưa
> db.updateListOfKeyValuesDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau
{ "_id" : ObjectId("5c9b5b759882024390176545"), "StudentDetails" : [ { "StudentName" : "Ramit", "StudentAge" : 23, "StudentCountryName" : "US" }, { "StudentName" : "Ramit", "StudentAge" : 24, "StudentCountryName" : "UK" }, { "StudentName" : "Ramit", "StudentAge" : 22, "StudentCountryName" : "AUS" } ] }