ホームページ  >  記事  >  バックエンド開発  >  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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。