En utilisant la bibliothèque golang firestore 1.8, j'ai essayé d'utiliser la nouvelle fonction count() de firestore lancée par Google l'automne dernier. La documentation ne semble pas encore avoir d'exemples, pas que j'ai trouvé, mais j'ai bricolé un code quelque peu fonctionnel qui m'a permis de tout faire, sauf de générer un entier. La valeur "result[usercountalias]" au bas de l'extrait est la valeur que je souhaite convertir en entier, mais je ne sais pas trop comment. Bien sûr, je pourrais en faire une chaîne, la diviser sur les deux points, puis l'analyser, mais cela aurait l'air moche.
Tous les conseils seraient grandement appréciés !
Merci beaucoup.
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 }
essayez le type de fmt.printf("type = %t", v)
找出 v
.
v
最有可能是 firestorepb.value。请注意,这在 1.8 中尚不可用。尝试将 cloud.google.com/go/firestore
Passez à la dernière version (actuellement 1.9).
package main import ( "fmt" "cloud.google.com/go/firestore/apiv1/firestorepb" ) func main() { var v interface{} = &firestorepb.Value{ ValueType: &firestorepb.Value_IntegerValue{ IntegerValue: 379, }, } fmt.Printf("%T\n", v) // *firestorepb.Value fmt.Printf("%v\n", v) // integer_value:379 if v, ok := v.(*firestorepb.Value); ok { fmt.Printf("%v\n", v.GetIntegerValue()) // 379 } }
Les tests dans le dépôt officiel récupèrent les valeurs de la même manière. Voir testintegration_countaggregationquery.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!