使用DynamoDB中的Query API。 实体表具有散列和范围主键。范围列是String类型。 在对范围键进行BETWEEN查询时,我得到了奇怪的结果:
文档不是很清楚:
BETWEEN:大于或等于第一个值,小于或等于第二个值。 对于BETWEEN,AttributeValueList必须包含两个相同类型的AttributeValue元素,String或Number(不是set)。如果目标值大于或等于第一个元素且小于或等于第二个元素,则目标属性匹配。如果项目包含与请求中指定的类型不同的AttributeValue,则该值不匹配。例如,{“S”:“6”}与{“N”:“6”}不相比。此外,{“N”:“6”}与{“NS”:[“6”,“2”,“1”]}无法比较。
有人可以解释这个结果吗?
答案 0 :(得分:0)
与AttributeValue
进行比较,在比较值之前验证值类型。如果您查看.equals(obj)
的{{1}},可能会给您更好的解释。