【发布时间】:2015-04-18 17:16:40
【问题描述】:
我想在dynamodb 的多个列上执行query
我想搜索 4 个字段
rule0 这是独一无二的,因此 hash key,
which_rule 是 Global Index,
rule1 是 Global Index,
rule2 是 Global Index,
我先搜索rule0,然后搜索rule1,然后搜索rule2
我正在使用以下函数来匹配 rule1 导致找不到与 rule0 匹配的匹配项
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
};
但是这个函数永远不会得到rule1 的结果。甚至我已经在dymamo table 中创建了这些规则。
为了检查发电机数据,我检查了scan 它的工作正常,但scan 有 1mb 的限制并且不是我的问题的完美用例。
请帮我找到query 格式的错误。
【问题讨论】:
标签: node.js amazon amazon-dynamodb