Heim > Artikel > Backend-Entwicklung > Wie erstelle ich komplexe Filterausdrücke mit mehreren Bedingungen im AWS SDK for Go?
So fügen Sie mithilfe des AWS SDK for Go mehrere Bedingungen zu FilterExpression hinzu
Das AWS SDK for Go bietet einen Ausdrucksgenerator zur Vereinfachung der Aufgabe Erstellen komplexer Filterausdrücke für DynamoDB-Scan-Vorgänge. Standardmäßig wird beim Versuch, mit dem Ausdrucks-Builder mehrere Bedingungen hinzuzufügen, die vorherige Bedingung überschrieben, sodass Sie nur noch einen einzigen Filter haben.
Ansatz mithilfe der ConditionBuilder-Struktur
Um diese Einschränkung zu überwinden bietet die ConditionBuilder-Struktur Methoden zum Kombinieren mehrerer Bedingungen mithilfe logischer Operatoren. Der folgende Code zeigt beispielsweise, wie Sie mit der And()-Methode mehrere Bedingungen hinzufügen:
<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>
Alternativ können Sie die Methoden Or() und Not() verwenden, um Bedingungen mit OR- und NOT-Logik zu kombinieren bzw..
Alternativer Ansatz: Manuelle Ausdruckserstellung
Wenn Sie den Filterausdruck lieber manuell erstellen möchten, können Sie die Funktion expression.New() verwenden, um einen zu erstellen Ausdrucksobjekt und hängen Sie dann Bedingungen mit den Methoden And() oder Or() an. Zum Beispiel:
<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>
Dokumentationsreferenz
Weitere Informationen zur Verwendung des Expression Builders finden Sie in der AWS SDK for Go-Dokumentation zu [ExpressionBuilder](https: //pkg.go.dev/github.com/aws/aws-sdk-go/aws/dynamodb/expression#ConditionBuilder).
Das obige ist der detaillierte Inhalt vonWie erstelle ich komplexe Filterausdrücke mit mehreren Bedingungen im AWS SDK for Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!