Функция [ unmarshall ] из [ AWS.DynamoDB.Converter ] является одним из решений, если ваши данные имеют вид, например:
{
"Attributes": {
"last_names": {
"S": "UPDATED last name"
},
"names": {
"S": "I am the name"
},
"vehicles": {
"NS": [
"877",
"9801",
"104"
]
},
"updatedAt": {
"S": "2018-10-19T01:55:15.240Z"
},
"createdAt": {
"S": "2018-10-17T11:49:34.822Z"
}
}
}
Обратите вниманиеспецификация объекта / карты {} для каждого атрибута, содержащая тип attr.Означает, что вы используете класс [ dynamicodb ], а не [ DynamoDB.DocumentClient ].[ unmarshall ] преобразует запись DynamoDB в объект JavaScript.
Заявлено и поддержано AWS.Ссылкаhttps://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/Converter.html#unmarshall-property
Тем не менее, я столкнулся с точно таким же случаем использования, что и ваш.Имея только один атрибут, TYPE SET (NS) в моем случае, и мне пришлось сделать это вручную. Следующий фрагмент :
// Please notice the <setName>, which represents your set attribute name
ddbTransHandler.update(params).promise().then((value) =>{
value.Attributes[<setName>] = value.Attributes[<setName>].values;
return value; // or value.Attributes
});
Приветствия, Гамлет