Problème :
Les utilisateurs ont besoin d'un moyen de filtrer les analyses DynamoDB en utilisant plusieurs conditions dans le générateur d'expression. L'implémentation initiale écrase la condition précédente, limitant ainsi les capacités de filtrage multi-conditions.
Résolution :
À l'aide de la structure ConditionBuilder, les développeurs peuvent ajouter plusieurs conditions en utilisant And, Or et Pas de méthodes. Voici un exemple :
<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>
Documentation :
Vous pouvez vous référer à la documentation officielle pour plus d'informations sur le filtrage multi-conditions avec 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#Et)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!