使用golang插入firebase数据库时丢失数据

时间:2017-10-13 10:15:16

标签: firebase go firebase-realtime-database firebase-admin

我正在为我的项目使用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个用户节点将被此数据插入,其中一个将被跳过,但此问题并非仅在特定时间内面对。是否有任何问题与我的代码或任何网络问题有关?请有人帮我解决这个问题。我附加了我的数据库结构的两个屏幕截图

以下是用户结构的屏幕截图: - enter image description here

这是任务结构的屏幕截图: -

enter image description here

0 个答案:

没有答案