我正在为我的项目使用golang和firebase。最近,我遇到了关于将数据插入firebase的一些问题,当我将数据插入firebase时,它被插入到两个节点中,它们是 task 和 user 节点使用以下代码
用户节点的插入代码
taskUniqueID := betterguid.New()
userData := reflect.ValueOf(m.UsersAndGroups.User)
for _, key := range userData.MapKeys() {
log.Println("inside task in user")
userTaskDetail := UserTasks{}
userTaskDetail.DateOfCreation = m.Settings.DateOfCreation
userTaskDetail.TaskName = m.Info.TaskName
userTaskDetail.CustomerName = m.Customer.CustomerName
userTaskDetail.EndDate = m.Info.EndDate
userTaskDetail.StartDate =m.Info.StartDate
userTaskDetail.JobName = m.Job.JobName
userTaskDetail.Status = helpers.StatusPending
userTaskDetail.CompanyId = companyId
userKey :=key.String()
err = dB.Child("/Users/"+userKey+"/Tasks/"+taskUniqueID).Set(userTaskDetail)
if err!=nil{
log.Println("Insertion error:",err)
return false
}
}
任务节点的插入代码
err = dB.Child("Tasks/"+taskUniqueID).Set(m)
if err!=nil{
log.Println("Insertion error:",err)
return false
}
有时我使用上面的代码将数据插入 user 。它未插入用户节点,但已插入任务节点。主要是当我将数据插入到许多用户中时会出现此问题,会跳过某些用户节点。例如,我正在向6个不同的用户添加数据,只有5个用户节点将被此数据插入,其中一个将被跳过,但此问题并非仅在特定时间内面对。是否有任何问题与我的代码或任何网络问题有关?请有人帮我解决这个问题。我附加了我的数据库结构的两个屏幕截图
这是任务结构的屏幕截图: -