【发布时间】:2020-02-11 05:55:21
【问题描述】:
student 集合如下所示。
[{
"_id" : NumberLong(1),
"studentId" : "70133",
"subjects" : [
"Mathematics",
"Biology and Zoology"
]
},
{
"_id" : NumberLong(2),
"studentId" : "70134",
"subjects" : [
"Mathematics",
"English"
]
},
{
"_id" : NumberLong(3),
"studentId" : "70135",
"subjects" : [
"English",
"Mathematics",
"Chemistry"
]
}]);
我想编写一个查询来更新学生集合主题数组值,如下所示:
- 如果主题匹配
English必须更新为 ENG - 如果主题匹配
Biology和Zoology必须更新为 BAZ - 如果主题匹配
Mathematics必须更新为 MAT - 如果主题匹配
Chemistry必须更新为 CHM
更新后的文件应如下所示。我怎样才能做到这一点。
[{
"_id" : NumberLong(1),
"studentId" : "70133",
"subjects" : [
"MAT",
"BAZ"
]
},
{
"_id" : NumberLong(2),
"studentId" : "70134",
"subjects" : [
"MAT",
"ENG"
]
},
{
"_id" : NumberLong(3),
"studentId" : "70135",
"subjects" : [
"ENG",
"MAT",
"CHM"
]
}]);
【问题讨论】:
-
答案取决于您使用的是哪个版本的 mongo,如果您正在寻找条件更新,那么它们只是 supported from v4.2。否则,您可能需要编写脚本来进行更新。
标签: mongodb mongodb-query