我有以下结构
{
"_id" : 2,
"mem_id" : M002,
"email" : "xyz@gmail.com",
"event_type" : [
{
"name" : "MT",
"count" : 2,
"language" : [
{
"cast" : [
{
"name" : "Some Name 1",
"count" : 2
},
{
"name" : "Some Name 2",
"count" : 4
},
],
key: 0
},
{
"cast" : [
{
"name" : "Some Name 3",
"count" : 2
},
{
"name" : "Some Name 4",
"count" : 4
},
],
key: 1
}
]
}
]
}
我想更改“Some Name 2”的值。实际上它总是将成为嵌套数组“cast”的最后一个元素。
我正在搜索关键值以找到语言数组的正确索引,因此我有位置值。
问题是如何更改嵌套数组的最后一个值?
我能做那样的事吗? (Python)的
const query = {_id: 2, 'event_type.language.key': 0};
const updateQuery = {$set: {'event_type.language.$.cast.-1.name': "Some Name 4"}};
User.update(
query,
updateQuery,
(err) => {
if (err) {
res.status(404).end();
} else {
res.status(200).end();
}
}
);