問題:
ユーザーは次の方法が必要です式ビルダー内の複数の条件を使用して DynamoDB スキャンをフィルターします。初期実装では前の条件が上書きされ、複数条件のフィルタリング機能が制限されます。
解決策:
ConditionBuilder 構造体を使用すると、開発者は And、Or、およびメソッドではありません。以下に例を示します:
<code class="go">package main import ( "fmt" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/dynamodb" "github.com/aws/aws-sdk-go/service/dynamodb/expression" ) func main() { sess := session.Must(session.NewSessionWithOptions( session.Options{ SharedConfigState: session.SharedConfigEnable, }, )) svc := dynamodb.New(sess, &aws.Config{ Region: aws.String("us-west-1"), }) 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) } input := &dynamodb.ScanInput{ ExpressionAttributeNames: expr.Names(), ExpressionAttributeValues: expr.Values(), FilterExpression: expr.Filter(), TableName: aws.String("Music"), } _, err = svc.Scan(input) if err != nil { fmt.Println(err) } }</code>
ドキュメント:
ExpressionBuilder による複数条件フィルタリングの詳細については、公式ドキュメントを参照してください: [https:// pkg.go.dev/github.com/aws/aws-sdk-go/aws/session/credentials#Values](https://pkg.go.dev/github.com/aws/aws-sdk-go/service /dynamodb/expression#And)
以上がAWS SDK for Go DynamoDB で複数条件フィルタリングを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。