DynamoDB数据库查询中的无效参数-Javascript-AWS

时间:2019-05-30 20:45:29

标签: javascript amazon-web-services parameters amazon-dynamodb amazon-cognito

我正在使用AWS通过Cognito用户/ IAM角色和策略对dynamoDB进行数据库查询。

听起来我查询DynamoDB的参数无效。

我的错误:dynamodb.html:150 ValidationException:一个或多个参数值无效:条件参数类型与架构类型不匹配

我尝试添加:ProjectionExpression: "name",因为它是我的属性之一,但是name显然是保留字,所以我不能使用它。我也尝试了age,因为它是我拥有的另一个属性,但是出现了与上述相同的初始错误。因此,我已经完全删除了ProjectionExpression:。这是我现在需要的参数:

var params = {
        ExpressionAttributeValues: {
            ":v1": {
                N: 123456788
            }
        },
        KeyConditionExpression: "userId = :v1",
        TableName: "user"
        };

我不太确定该如何构架。请让我知道我缺少什么或者是否有任何好的文档,因为我是AWS的新手。预先谢谢你!

编辑:

主键为userId,表user的其余属性为:agebioemail,{{1} }。

以IAM角色登录并查询

name

1 个答案:

答案 0 :(得分:0)

尝试在N中不使用ExpressionAttributeValues的情况下使用它,并使用"作为用户ID值。

var params = {
        ExpressionAttributeValues: {
            ":v1": "123456788"
        },
        KeyConditionExpression: "userId = :v1",
        TableName: "user"
};