>  기사  >  백엔드 개발  >  Firestore 'integer_value'를 정수로 변환

Firestore 'integer_value'를 정수로 변환

PHPz
PHPz앞으로
2024-02-06 09:10:12718검색

将 firestore“integer_value”转换为整数

질문 내용

golang Firestore 1.8 라이브러리를 사용하여 Google이 지난 가을에 출시한 Firestore의 새로운 count() 기능을 사용해 보았습니다. 문서에는 아직 예제가 없는 것 같습니다. 제가 찾은 것은 아니지만 실제로 정수를 생성하는 것 외에는 모든 작업을 수행할 수 있게 해주는 작동하는 코드를 함께 엮었습니다. 코드 조각 하단의 "result[usercountalias]" 값은 정수로 변환하고 싶은 값이지만 어떻게 변환하는지 잘 모르겠습니다. 물론 문자열로 만들고 콜론으로 분할한 다음 구문 분석할 수도 있지만 그러면 보기 흉해 보일 것입니다.

어떤 조언이라도 대단히 감사하겠습니다!

정말 감사합니다.

func (s UserService) Count(labID string) (int64, error) {

    if s.DB == nil {
        return -1, customerrors.ErrDatabaseMissing
    }

    query := s.DB.
        Collection(CollectionUsers).
        Where("lab_id", "==", labID)


    userCountAlias := "userCount"

    ag := query.NewAggregationQuery()

    //result is a firestore.AggregationResult, which seems to consist of just a 
    //map[string]interface{}
    result, err := ag.WithCount(userCountAlias).Get(s.Ctx)

    if err != nil {
        return -1, err
    }

    v := result[userCountAlias]//How do I cast this to an integer?
    fmt.Printf("Type = %v", v) //Prints "Type = integer_value:379"

    return -1, nil
}

정답


fmt.printf("type = %t", v) 找出 v 유형을 시도해 보세요.

v 最有可能是 firestorepb.value。请注意,这在 1.8 中尚不可用。尝试将 cloud.google.com/go/firestore 최신 버전(현재 1.9)으로 업그레이드하세요.

으아아아

공식 저장소의 테스트는 동일한 방식으로 값을 검색합니다. testintegration_countaggregationquery를 참조하세요.

위 내용은 Firestore 'integer_value'를 정수로 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제