Node.js Dynamodb查询不工作

Node.js Dynamodb查询不工作,node.js,amazon,amazon-dynamodb,Node.js,Amazon,Amazon Dynamodb,我想在dynamodb中对多个列执行查询 我想搜索4个字段 规则0是唯一的,因此是散列键, 哪个规则是全局索引, 规则1是全局索引, 规则2是全局索引 我首先搜索规则0,然后搜索规则1,然后搜索规则2 我正在使用以下函数匹配规则1,因为找不到与规则0匹配的项 但此函数不适用于获取规则1的结果。即使我已经在dymamo表中创建了这些规则。 为了检查dynamo数据,我用scan检查了它的工作情况,但scan有1mb的限制,并且不是解决我问题的完美用例。 请帮助我查找查询格式中的错误 检查您的响应对

我想在dynamodb中对多个列执行查询 我想搜索4个字段 规则0是唯一的,因此是散列键, 哪个规则是全局索引, 规则1是全局索引, 规则2是全局索引

我首先搜索规则0,然后搜索规则1,然后搜索规则2 我正在使用以下函数匹配规则1,因为找不到与规则0匹配的项

但此函数不适用于获取规则1的结果。即使我已经在dymamo表中创建了这些规则。 为了检查dynamo数据,我用scan检查了它的工作情况,但scan有1mb的限制,并且不是解决我问题的完美用例。
请帮助我查找查询格式中的错误

检查您的响应对象是否具有[LastEvaluatedKey]!=空

如果设置了[LastEvaluatedKey],则表示由于1M限制,您没有再次查询整个数据集。因此,您需要再次调用query,将查询中的ExclusiveStartKey设置为上次响应中的LastEvaluatedKey。将所有结果附加在一起

类似的问题显示了如何在node.js中执行此操作的语法:

function dynamoQueryRule1(rule0, rule1, funcQ) {
    which_rule = "rule1";
    var q = {
        "KeyConditions": {
            "rule0": {
                "ComparisonOperator": "EQ", 
                "AttributeValueList": [{
                        "S": rule0
                    }]
            }
        },
        "TableName": "tbl_scripts" + table_prefix, 
        "AttributesToGet": ['id'],
        "ConditionalOperator": "AND",
        "QueryFilter": {

                    "which_rule": {
                        "ComparisonOperator": "EQ",
                        "AttributeValueList": [{
                                "S": which_rule
                            }]
                    },
                    "rule1": {
                        "ComparisonOperator": "EQ",
                        "AttributeValueList": [{
                                "S": rule1
                            }]
                    }
        }
    };
    var params = {
        TableName: this.options.tbl_name
    };