0

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

询问

而且文档不是很清楚:

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

任何人都可以解释这个结果吗?

4

1 回答 1

0

在比较 中AttributeValue,在比较值之前验证值类型。如果你检查.equals(obj)AttributeValue那可能会给你一个更好的解释。

于 2012-12-11T21:21:18.857 回答