Ниже мой вложенный массив, и я хочу обновить значение во внутреннем массиве. Сценарий похож на это решение
Но у меня есть только внутренний массив внутри первого массива. Итак, я не уверен, как указать идентификатор для первого массива
{
"RequestID": "A22A8D43FE5D8D1409D5984003AB5609",
"OPC_REQUEST_ID": [{
"B69BF2DCEBB932A2665920BE14BA14C5": [{
"Message": "Some message ",
"Time": "2020-02-25T07:30:52Z",
"bug": [
"27571088",
"7452257"
],
"label": [
"No Label"
],
"score": -0.5106
}]
},
{
"8E0FCBBF92D7226ADB6F3DB465DDA7F4": [{
"Message": "Some message",
"Time": "2020-02-25T07:31:52Z",
"bug": [],
"label": [
"No Label"
],
"score": -0.7184
}]
}
]
}
Я пробовал запрос ниже, но ключ для идентификатора "j" является другим массивом, поэтому я не уверен, как указать ключ / значение для "j" в "arrayFilters"
db.requestid.update({'RequestID':'A22A8D43FE5D8D1409D5984003AB5609'},{'$set':{'OPC_REQUEST_ID.$[j].8E0FCBBF92D7226ADB6F3DB465DDA7F4.$[k].score' : '0'}},
{arrayFilters:[{'j.OPC_REQUEST_ID' :'8E0FCBBF92D7226ADB6F3DB465DDA7F4' }, {'k.Message' : 'Some message'}]})
}
Я хочу отредактировать "Score" во втором массиве с -0,7184 до 0. Таким образом, результат будет
{
"RequestID": "A22A8D43FE5D8D1409D5984003AB5609",
"OPC_REQUEST_ID": [{
"B69BF2DCEBB932A2665920BE14BA14C5": [{
"Message": "Some message ",
"Time": "2020-02-25T07:30:52Z",
"bug": [
"27571088",
"7452257"
],
"label": [
"No Label"
],
"score": -0.5106
}]
},
{
"8E0FCBBF92D7226ADB6F3DB465DDA7F4": [{
"Message": "Some message",
"Time": "2020-02-25T07:31:52Z",
"bug": [],
"label": [
"No Label"
],
"score": 0
}]
}
]
}