ホームページ > バックエンド開発 > Golang > AWS SDK for Go で複数の条件を含む複雑なフィルター式を作成する方法は?

AWS SDK for Go で複数の条件を含む複雑なフィルター式を作成する方法は?

DDD
リリース: 2024-10-28 21:05:30
オリジナル
604 人が閲覧しました

How to Create Complex Filter Expressions with Multiple Conditions in AWS SDK for Go?

AWS SDK for Go を使用して FilterExpression に複数の条件を追加する方法

AWS SDK for Go は、次のタスクを簡素化するための式ビルダーを提供します。 DynamoDB スキャン操作用の複雑なフィルター式を作成します。デフォルトでは、式ビルダーを使用して複数の条件を追加しようとすると、前の条件が上書きされ、単一のフィルターが残ります。

ConditionBuilder 構造を使用したアプローチ

この制限を克服するには、ConditionBuilder 構造は、論理演算子を使用して複数の条件を組み合わせるメソッドを提供します。たとえば、次のコードは、And() メソッドを使用して複数の条件を追加する方法を示しています。

<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()</code>
ログイン後にコピー

または、Or() メソッドと Not() メソッドを使用して、条件を OR ロジックと NOT ロジックで組み合わせることができます。

代替アプローチ: 手動による式の構築

フィルター式を手動で構築したい場合は、expression.New() 関数を使用して、 Expression オブジェクトを作成し、And() または Or() メソッドを使用して条件を追加します。例:

<code class="go">expr := expression.New()
expr.AndWith(expression.Name("foo").Equal(expression.Value(5)))
expr.OrWith(expression.Name("bar").Equal(expression.Value(6)))</code>
ログイン後にコピー

ドキュメントリファレンス

式ビルダーの使用の詳細については、[ExpressionBuilder](https: //pkg.go.dev/github.com/aws/aws-sdk-go/aws/dynamodb/expression#ConditionBuilder).

以上がAWS SDK for Go で複数の条件を含む複雑なフィルター式を作成する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート