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" } }