如何在打字稿上将新值附加到 AWS DynamoDB 中的现有列表

How to append new value to existing list in AWS DynamoDB on typescript

我正在尝试将一个新字符串附加到我的“savedPosts”数组中,我的第一次尝试是读取以前的数据,然后附加新元素并最后更新。虽然在查看文档后,它说我可以跳过阅读步骤并通过一个电话更新我现有的列表。

到目前为止我的代码:

await UserModel.update({
  awsCognitoId: req.user,
  savedPosts: {$add: postId}
});

错误:

{
    "code": "ValidationException",
    "message": "Invalid UpdateExpression: Incorrect operand type for operator or function; operator: ADD, operand type: STRING, typeSet: ALLOWED_FOR_ADD_OPERAND"
}

我遇到了同样的问题,解决这个问题的方法是将我的 UpdateExpression 从 ADD 更改为 SET。我还使用 list_append() 来完成此操作。请确保您附加了 2 个数组。

请看这个url https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html 跳转到 Appending Elements to a List