使用Golang在Firebase中推送后如何提取自动生成的唯一ID?

时间:2017-02-23 08:00:31

标签: firebase go firebase-realtime-database

我正在使用firego在firebase上进行操作。成功推送后,我无法检索自动生成的唯一ID。我使用了fllowing代码:

adminData, err := dB.Child("Admins").Push(m)
    if err != nil {
        log.Println(err)
    }

    log.Println("Unique ID: ", adminData)

并打印:

https://myApp.firebaseio.com/Admins/-KddtEfpE3ys4cj0mYE-/.json

变量adminData的类型为*Firebase

但我只需要-KddtEfpE3ys4cj0mYE-作为String类型 我如何使用firego在Golang中做到这一点?

1 个答案:

答案 0 :(得分:1)

firego不公开此信息,您可以在github上为firego存储库创建问题或自行修改库。

还有一种肮脏的方式来分割/字符并获取最后一个元素。

package main

import (
    "fmt"
    "strings"
)

func main() {
    parts := strings.Split("https://myApp.firebaseio.com/Admins/-KddtEfpE3ys4cj0mYE-/.json", "/")
    fmt.Println(parts[len(parts)-2]) // -KddtEfpE3ys4cj0mYE-
}

虽然我建议你向firego开一个问题:)