在 MongoDB 聚合操作期間用一個字串文字替換值
使用 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" } }
廣告