Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Chuyển đổi trường đơn giản thành object lồng nhau trong MongoDB

Để 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.