我正在嘗試使用表達(dá)式生成器按多個條件過濾 DynamoDb 掃描。根據(jù)這篇博文,嘗試在構(gòu)建器中添加另一個條件將覆蓋之前的條件。必須有某種方法可以添加另一個條件,但我一直無法找到一種方法來做到這一點(diǎn)。這行不通cond1 := expression.Name("foo").Equal(expression.Value(5))cond2 := expression.Name("bar").Equal(expression.Value(6))expr, err := expression.NewBuilder(). WithCondition(cond1). WithCondition(cond2). Build()if err != nil {fmt.Println(err)}這是一個帶有單個過濾器的工作示例filt := expression.Name("Artist").Equal(expression.Value("No One You Know"))proj := expression.NamesList( expression.Name("SongTitle"), expression.Name("AlbumTitle"),)expr, err := expression.NewBuilder().WithFilter(filt).WithProjection(proj).Build()if err != nil { fmt.Println(err)}input := &dynamodb.ScanInput{ ExpressionAttributeNames: expr.Names(), ExpressionAttributeValues: expr.Values(), FilterExpression: expr.Filter(), ProjectionExpression: expr.Projection(), TableName: aws.String("Music"),}我已經(jīng)能夠在不使用表達(dá)式生成器的情況下完成此操作,但我更愿意使用表達(dá)式生成器。我如何向該過濾器添加另一個條件?
適用于 Go 的 AWS 開發(fā)工具包 - DynamoDb - 向 FilterExpression
長風(fēng)秋雁
2023-05-04 17:12:11