У меня есть данные внутри dyanomodb, которые находятся во вложенном внутреннем формате, как это:
{
"inner0": {
"inner1": {
"inner2": {
"inner3": {
"name": "david",
"address": "US"
}
}
},
"phone": "12345"
}
}
Как обновить поле адреса. когда я пытаюсь обновить телефон, который находится на двух уровнях, он обновляется, но сталкивается с проблемой при обновлении поля адреса или имени, которое находится на вложенном внутреннем уровне.
methods.updateinfo = function(name){
return new Promise((resolve, reject) => {
var params = {
TableName: tableName,
Key: {
'keyvalue': 12345
},
UpdateExpression: 'set #inner0.#inner1.#inner2.#inner3.#name = :name',
ExpressionAttributeNames: {
'#inner0':'inner0',
'#inner1':'inner1',
'#inner2':'inner2',
'#inner3':'inner3',
'#name': 'name'
},
ExpressionAttributeValues: {
':name': name,
},
ReturnValues: 'UPDATED_NEW'
};
docClient.update(params, function (err, data) {
resolve(data.Attributes);
});
});
когда я использовал этот метод, я получаю ошибку запроса.
[error] uncaughtException: Cannot read property 'Attributes' of null
TypeError: Cannot read property 'Attributes' of null