Để chuyển đổi trường đơn giản thành object lồng nhau, sử dụng $rename trong update (cần bước trung gian).
Tạo collection:
> db.changeSimpleFieldDemo.insertOne({"StudentMarks":58,"StudentSubject":"MySQL"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0847a825ddae1f53b62205") }
Hiển thị dữ liệu gốc (2 trường riêng biệt):
> db.changeSimpleFieldDemo.find();
Bước 1: Đổi tên StudentMarks → obj (trường tạm):
> db.changeSimpleFieldDemo.update({}, {$rename: {StudentMarks: 'obj'}}, {multi: true}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })Bước 2: Đổi obj → Student.Marks và StudentSubject → Student.Subject:
> db.changeSimpleFieldDemo.update({}, {$rename: {obj: 'Student.Marks', StudentSubject: 'Student.Subject'}}, {multi: true}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })Kết quả: 2 trường gốc đã gộp thành object Student lồng nhau.