我的mongoDB架构如下。
"interpretationlist": [
{
"interpretations": [
{
"id": "1",
"value": "value1"
},
{
"id": "2",
"value": "value2"
}
]
},
{
"interpretations": [
{
"id": "3",
"value": "value3"
}
]
}
]
我希望搜索interpretation
为id
的{{1}}并更新其值。
我怎样才能做到这一点。
我不知道怎么能这样做。
答案 0 :(得分:0)
您好我不知道如何在mongo查询中执行此操作,但我写下以下脚本将解决您的问题
db.collectionName.find({
"interpretationlist": {
"$exists": true
}
}).forEach(function(data) {
for (var i = 0; i < data.interpretationlist.length; i++) {
for (var j = 0; j < data.interpretationlist[i].interpretations.length; j++) {
var query = {};
var updateQuery = {};
findkey = [];
findkey.push("interpretationlist." + i + ".interpretations." + j + ".id");
query[findkey] = "1";
updateQuery[findkey] = "20";
db.collectionName.update(query, {
"$set": updateQuery
}, false, false);
}
}
})