> 백엔드 개발 > Golang > Go DynamoDB용 AWS SDK에서 다중 조건 필터링을 구현하는 방법은 무엇입니까?

Go DynamoDB용 AWS SDK에서 다중 조건 필터링을 구현하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-29 11:17:02
원래의
1118명이 탐색했습니다.

How to Implement Multi-Condition Filtering in AWS SDK for Go DynamoDB?

FilterExpression에 여러 조건을 추가하여 Go DynamoDb용 AWS SDK에 대한 다중 조건 필터링

문제:
사용자에게 다음 방법이 필요합니다. 표현식 빌더 내에서 여러 조건을 사용하여 DynamoDB 검색을 필터링합니다. 초기 구현은 이전 조건을 덮어쓰고 다중 조건 필터링 기능을 제한합니다.

해결 방법:
ConditionBuilder 구조체를 사용하면 개발자는 And, Or 및 and를 활용하여 여러 조건을 추가할 수 있습니다. 방법이 아닙니다. 예는 다음과 같습니다.

<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/표현#그리고)

위 내용은 Go DynamoDB용 AWS SDK에서 다중 조건 필터링을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿