亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

適用于 Go 的 AWS 開發工具包 - DynamoDb - 向 FilterExpression

適用于 Go 的 AWS 開發工具包 - DynamoDb - 向 FilterExpression

Go
長風秋雁 2023-05-04 17:12:11
我正在嘗試使用表達式生成器按多個條件過濾 DynamoDb 掃描。根據這篇博文,嘗試在構建器中添加另一個條件將覆蓋之前的條件。必須有某種方法可以添加另一個條件,但我一直無法找到一種方法來做到這一點。這行不通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"),}我已經能夠在不使用表達式生成器的情況下完成此操作,但我更愿意使用表達式生成器。我如何向該過濾器添加另一個條件?
查看完整描述

1 回答

?
慕少森

TA貢獻2019條經驗 獲得超9個贊

And您可以嘗試使用結構中的,Or和Not方法添加多個條件ConditionBuilder。例子:


cond1 := expression.Name("foo").Equal(expression.Value(5))

cond2 := expression.Name("bar").Equal(expression.Value(6))

expr, err := expression.NewBuilder().

? ? WithCondition(cond1.And(cond2)).

? ? Build()

if err != nil {

? ? fmt.Println(err)

}



查看完整回答
反對 回復 2023-05-04
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號