Amazon dynamodb 我们是否可以使用gsi索引查询dynamodb表,并使用最后计算的键进行分页?

Amazon dynamodb 我们是否可以使用gsi索引查询dynamodb表,并使用最后计算的键进行分页?,amazon-dynamodb,aws-sdk,Amazon Dynamodb,Aws Sdk,我有一张有4个字段的桌子 id->hash uniid->全局二级索引 电子邮件 状态->全局二级索引 是否可以使用LastEvaluatedKey进行分页,获取uniid为foo的所有电子邮件 我正在尝试类似的东西 var params = { TableName : 'users', IndexName : 'gsiuniid', KeyConditionExpression : '#uniid = :u

我有一张有4个字段的桌子

  • id->hash
  • uniid->全局二级索引
  • 电子邮件
  • 状态->全局二级索引
  • 是否可以使用
    LastEvaluatedKey
    进行分页,获取
    uniid
    foo
    的所有电子邮件

    我正在尝试类似的东西

    var params = {
        TableName                : 'users',
        IndexName                : 'gsiuniid',
        KeyConditionExpression   : '#uniid = :uniid',
        ExpressionAttributeNames : {
           '#uniid': 'uniid'
        },
        ExpressionAttributeValues : {
           ':uniid': 'valid-uniid'
        },
        ExclusiveStartKey: {
            'id' : 'id-from-last-query'
        }
    };
    
    
    dynamodb.query(params, function (err, data) {
        console.log(data);
    });
    
    我得到一个错误,
    提供的启动密钥无效
    。 我检查了db,启动键,即上表的id,是否存在


    你知道我做错了什么吗?

    你能更改ExclusiveStartKey吗

    ExclusiveStartKey: {
            '#uniid' : 'id-from-last-query'
        }
    

    您可以更改ExclusiveStartKey吗

    ExclusiveStartKey: {
            '#uniid' : 'id-from-last-query'
        }
    

    是否使用上一个请求中的LastEvaluatedKey值?您使用的客户端是什么?是,使用上一个请求中的
    LastEvaluatedKey
    ,在lambda上使用aws js sdk您是否使用上一个请求中的LastEvaluatedKey值?您正在使用的客户端是什么?是,使用上一个请求中的
    LastEvaluatedKey
    ,在lambda上使用aws js sdk