複数のフィルター条件を使用して DynamoDB スキャン操作を構築する場合、これらの条件をどのように組み合わせるかを検討することが重要です。デフォルトでは、AWS SDK for Go の組み込み式ビルダーは、新しい条件が追加されると既存の条件を上書きします。この動作は、包括的な検索に複数のフィルターが必要な場合に制限となる可能性があります。
この制限を克服して複数の条件を追加するには、ConditionBuilder 構造体の AddCondition メソッドを利用できます。 And 、 Or 、および Not メソッドを使用すると、複数の条件を論理的に組み合わせることができます。
たとえば、「foo」フィールドが 5 に等しく、「bar」フィールドが 6 に等しいことに基づいてスキャンをフィルタリングします。では、次のコードを使用できます:
<code class="go">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) }</code>
このアプローチでは、任意に複雑なフィルター条件を作成でき、スキャンを特定の要件に合わせて調整できます。式ビルダーのドキュメントには、これらのメソッドとサポートされている論理演算子の詳細が記載されています。
以上がGo SDK で DynamoDB スキャン操作に複数のフィルター条件を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。