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