ใช้ MongoDB $literal เพื่อตั้งค่าสตริงตามตัวอักษร ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
>db.replacevaluedemo.insertOne({"StudentName":"Chris","StudentFavouriteSubject":{"TeacherName":"Bob","SubjectCode":"MySQL111"}}); { "acknowledged" : true, "insertedId" : ObjectId("5e0390a3f5e889d7a51994fd") } >db.replacevaluedemo.insertOne({"StudentName":"Mike","StudentFavouriteSubject":{"TeacherName":"David","SubjectCode":"3221Java"}}); { "acknowledged" : true, "insertedId" : ObjectId("5e0390b8f5e889d7a51994fe") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.replacevaluedemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e0390a3f5e889d7a51994fd"), "StudentName" : "Chris", "StudentFavouriteSubject" : { "TeacherName" : "Bob", "SubjectCode" : "MySQL111" } } { "_id" : ObjectId("5e0390b8f5e889d7a51994fe"), "StudentName" : "Mike", "StudentFavouriteSubject" : { "TeacherName" : "David", "SubjectCode" : "3221Java" } }
นี่คือการสืบค้นเพื่อแทนที่ค่าด้วยตัวอักษรสตริง -
> db.replacevaluedemo.aggregate([{ ... "$project": { ... "_id": 1, ... "StudentFavouriteSubject": { ... SubjectCode: 1, ... TeacherName: { $literal: "UNKNOWN NAME" } ... } ... } ... }]).pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e0390a3f5e889d7a51994fd"), "StudentFavouriteSubject" : { "SubjectCode" : "MySQL111", "TeacherName" : "UNKNOWN NAME" } } { "_id" : ObjectId("5e0390b8f5e889d7a51994fe"), "StudentFavouriteSubject" : { "SubjectCode" : "3221Java", "TeacherName" : "UNKNOWN NAME" } }