ホームページ > バックエンド開発 > Golang > Firestore「integer_value」を整数に変換します

Firestore「integer_value」を整数に変換します

PHPz
リリース: 2024-02-06 09:10:12
転載
748 人が閲覧しました

将 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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート