iam, пытающийся обновить json array.i, имеет таблицу в dynamoDb.i, успешно вставленную json-данные в dynamo с использованием метода put.Невозможно обновить массив aws Dynamo
Partition ключ: _id, Тип: S
Это мои данные JSON сохраняются в базе данных.
{
"_id": "001",
"email": "[email protected]",
"class": {
"student_list": []
}
}
Но я наклоняю обновленный JSon массив student_list с помощью ключа электронной почты. я следующий код
var AWS = require("aws-sdk");
var docClient = new AWS.DynamoDB.DocumentClient();
var params = {
TableName: "testTable1",
Key: {
"email": "[email protected]",
},
UpdateExpression: "set class.student_list = list_append (class.student_list, :studentEmail)",
ExpressionAttributeValues: {
":studentEmail": "[email protected]"
},
ReturnValues: "UPDATED_NEW"
};
docClient.update(params, function (err, data) {
if (err) {
console.error("Unable to update item. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("UpdateItem succeeded:", JSON.stringify(data, null, 2));
}
});
Но я получил сообщение об ошибке, как этот
Unable to update item. Error JSON: {
"message": "Invalid UpdateExpression: Incorrect operand type for operator or function; operator or function: list_append, operand type: S",
"code": "ValidationException",
"time": "2016-07-18T14:31:44.978Z",
"requestId": "378NSB5RVB1TNI0PB1Q3OH67V3VV4KQNSO5AEMVJF66Q9ASUAAJG",
"statusCode": 400,
"retryable": false,
"retryDelay": 0
}
Какова реальная проблема, связанная с этим?
что тип dynamodb данных атрибута «класс» и " student_list "? – notionquest
"class" Тип: Карта, "student_list" Тип: Список. –