ใช้กรอบงานรวมร่วมกับตัวดำเนินการ $literal ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.replaceValueDemo.insertOne( { _id : 100, "EmployeeName" :"Chris", "EmployeeOtherDetails": { "EmployeeDesignation" : "HR", "EmployeeAge":27 } } ); { "acknowledged" : true, "insertedId" : 100 } > db.replaceValueDemo.insertOne( { _id : 101, "EmployeeName" :"David", "EmployeeOtherDetails": { "EmployeeDesignation" : "Tester", "EmployeeAge":26 } } ); { "acknowledged" : true, "insertedId" : 101 }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.replaceValueDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : 100, "EmployeeName" : "Chris", "EmployeeOtherDetails" : { "EmployeeDesignation" : "HR", "EmployeeAge" : 27 } } { "_id" : 101, "EmployeeName" : "David", "EmployeeOtherDetails" : { "EmployeeDesignation" : "Tester", "EmployeeAge" : 26 } }
ต่อไปนี้เป็นแบบสอบถามเพื่อแทนที่ค่า -
> db.replaceValueDemo.aggregate([{ "$project": { "_id": 1, "EmployeeOtherDetails": { EmployeeAge: 1, EmployeeDesignation : { $literal: "Developer" } } } }]);
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : 100, "EmployeeOtherDetails" : { "EmployeeAge" : 27, "EmployeeDesignation" : "Developer" } } { "_id" : 101, "EmployeeOtherDetails" : { "EmployeeAge" : 26, "EmployeeDesignation" : "Developer" } }