在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"
}
}热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西