DynamoDB之间查询String属性

时间:2012-07-23 11:41:13

标签: java amazon amazon-dynamodb

使用DynamoDB中的Query API。 实体表具有散列和范围主键。范围列是String类型。 在对范围键进行BETWEEN查询时,我得到了奇怪的结果:

query bigger

文档不是很清楚:

BETWEEN:大于或等于第一个值,小于或等于第二个值。 对于BETWEEN,AttributeValueList必须包含两个相同类型的AttributeValue元素,String或Number(不是set)。如果目标值大于或等于第一个元素且小于或等于第二个元素,则目标属性匹配。如果项目包含与请求中指定的类型不同的AttributeValue,则该值不匹配。例如,{“S”:“6”}与{“N”:“6”}不相比。此外,{“N”:“6”}与{“NS”:[“6”,“2”,“1”]}无法比较。

有人可以解释这个结果吗?

1 个答案:

答案 0 :(得分:0)

AttributeValue进行比较,在比较值之前验证值类型。如果您查看.equals(obj)的{​​{1}},可能会给您更好的解释。