发电机数据库错误无效ProjectionExpression:文档path中使用的expression式属性名称未定义; 属性名称:#P

我正在尝试使用某些2主键列从dynamo db中获取和删除数据,其中之一是保留关键字timestamp

当我使用主键之一获取数据,那么它工作正常,但是当我试图删除使用投影expression式中的两个主键字段,它给我一个错误,如:

ValidationException:无效ProjectionExpression:未定义文档path中使用的expression式属性名称; 属性名称:#P

这是我的params对象

{TableName:'Log',ProjectionExpression:'username,#P',ExpressionAttributeNames:{'#P':'timestamp'},ExpressionAttributeValues:null}

用户名和时间戳是主键列。

这个东西不是只在这张桌子上工作的。 在其他一些表中,我有同样的情况,但不会把我这个错误。 只有在这种情况下,我得到的错误。

DeleteItem API不允许您指定ProjectionExpression。 您可以通过selectReturnValues = ALL_OLD来获取该项目的整个预删除图像。