Bạn có thể đạt được điều này với sự trợ giúp của toán tử $ addFields. Để hiểu khái niệm, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với một tài liệu như sau -
> db.addFieldDemo.insertOne({"EmployeeId":101,"EmployeeName":"Larry","EmployeeDetails":{
"EmployeeSalary":65000,"EmployeeCity":"New York","Message":"Hi"}});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c7f654d8d10a061296a3c44")
} 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 (). Truy vấn như sau -
> db.addFieldDemo.find().pretty();
Sau đây là kết quả -
{
"_id" : ObjectId("5c7f654d8d10a061296a3c44"),
"EmployeeId" : 101,
"EmployeeName" : "Larry",
"EmployeeDetails" : {
"EmployeeSalary" : 65000,
"EmployeeCity" : "New York",
"Message" : "Hi"
}
} Đây là truy vấn để bao gồm tất cả các trường hiện có và thêm các trường mới vào tài liệu trong MongoDB -
> db.addFieldDemo.aggregate([ { "$addFields": { "EmployeeBasicSalary":"$EmployeeDetails.EmployeeSalary" } } ]).pretty(); Sau đây là kết quả -
{
"_id" : ObjectId("5c7f654d8d10a061296a3c44"),
"EmployeeId" : 101,
"EmployeeName" : "Larry",
"EmployeeDetails" : {
"EmployeeSalary" : 65000,
"EmployeeCity" : "New York",
"Message" : "Hi"
},
"EmployeeBasicSalary" : 65000
} Nhìn vào đầu ra mẫu, “EmployeeBasicSalary” đã được thêm vào.