我想使用一个 id(例如:-KfKoScgRhylaLjQlK-y)将 map 推送到 firebase
fitToWorkMap := make(map[string]models.TaskFitToWork)
fitToWorkForTask :=models.TaskFitToWork{}
for i := 0; i < len(FitToWorkSlice); i++ {
fitToWorkForTask.Info =FitToWorkSlice[i]
fitToWorkForTask.DateOfCreation =time.Now().Unix()
fitToWorkForTask.Status = helpers.StatusPending
fitToWorkMap["fgsgdsfn+'i'"] = fitToWorkForTask
}
task.FitToWork = fitToWorkMap
这里 fitToWorkMap 是一个 map 。我想为这个 map 生成一个键
最佳答案
那些以 -K
开头的 key 称为推送 ID,它们由 Firebase 自动生成:
- 当你 call
push()
或支持的 SDK 之一中的childByAutoId
- 当您执行
POST
request to the REST API
没有适用于 Go 的 Firebase SDK,它使用 REST API 与 Firebase 数据库交互。这意味着它仅在 POST
向数据库发送新节点时生成推送 ID。我不知道有任何 Go 库可以在客户端生成 Firebase 推送 ID。
但幸运的是 keys are quite well documented in a blog post . code for a JavaScript implementation of generatePushID()
也可用,因此您可以将其移植到 Go。
关于firebase - 如何使用 golang 为 firebase 创建推送 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42902721/