Computer >> Máy Tính >  >> Lập trình >> MongoDB

Truy vấn MongoDB để thay đổi trường đơn giản thành một đối tượng?

Fir này, bạn có thể sử dụng $ rename. 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.changeSimpleFieldDemo.insertOne({"StudentMarks":58,"StudentSubject":"MySQL"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0847a825ddae1f53b62205")
}

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.changeSimpleFieldDemo.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e0847a825ddae1f53b62205"), "StudentMarks" : 58, "StudentSubject" : "MySQL" }

Đây là truy vấn để thay đổi một trường thành một đối tượng. Trường "obj" là tên trường tạm thời mà chúng tôi đã sử dụng bên dưới -

> db.changeSimpleFieldDemo.update({}, {$rename: {Student: 'obj'}}, {multi: true});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })
> db.changeSimpleFieldDemo.update({},
... {$rename: {obj: 'Student.Marks', discountType: 'Student.Subject'}},
... {multi: true});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })