默认情况下,中间查询的端点是包含的。我想使用独占端点查询日期时间范围
我目前正在使用pynamo,因此我的查询是:
Item.my_index.query(
hash_key=hash_key_id,
range_key_condition=Item.create_date.between(start_datetime, end_datetime)
)
我不想包括create_date
为end_datetime
的项。在我当前的偏好顺序中,不太理想的选项是在查询后用create_date == end_datetime
显式过滤掉项目,从索引中删除create_date
并使用过滤条件获得结果,在发送到查询之前通过减去一微秒来调整end_datetime
有没有办法直接支持这一点,或者建议一个首选的解决方法
我的首选方法是从发送到查询的
end_datetime
中减去一微秒。如果您的范围关键点是一个数字,这将很好地工作。如果它是一个字符串或二进制文件,它就不能正常工作下一个最佳选项是添加FilterExpression以删除create_date==end_datetime的记录
从索引中删除create_日期并不理想,因为这样您的查询将获取具有相同分区/哈希键的所有记录,随着数据的增长,这些记录可能会变得不必要的昂贵
相关问题 更多 >
编程相关推荐