我有一个适用于我的dynamodb查询。分区键是“名称”,排序键是“创建”。以下条件很好
partitionKeyCondition := expression.Key("name").
Equal(expression.Value("myname"))
sortKeyCondition := expression.Key("created").
Between(expression.Value(startTime),
expression.Value(endTime))
那我就能成功做到这一点
andKeyCondtition:= partitionKeyCondition.And(sortKeyCondition)
expr, err := expression.NewBuilder().
WithKeyCondition(andKeyCondtition).
Build()
我的主要问题是sortKeyCondition
,因为当我使用BETWEEN
时,一切都很好。介于两者之间的是,我不能使用GE
和LE
。 BETWEEN
不包括开始时间和结束时间。要包括它们,我需要使用
expression.Key("created").
GreaterThanEqual(expression.Value(startTime))
我现在如何合并LessThanEqual?显然,我做不到
sortKeyCondition5 := expression.KeyGreaterThanEqual(expression.Key(
"created"), expression.Value(startTime))
sortKeyCondition6 := expression.KeyLessThanEqual(expression.Key(
"created"), expression.Value(endTime))
tmpCond := sortKeyCondition5.And(sortKeyCondition6)
sortKey的tmpCond
不正确。当我尝试执行Build()
andBuildKeyCondition error: invalid parameter:
基本上,发电机对我在排序键上组合AND
条件进行范围查询的方式不满意