如何在Firebase中保存的数据下构建数据

时间:2016-05-05 20:38:09

标签: ios objective-c firebase firebase-realtime-database

这是我在Firebase中的代码。

//Create a reference to a Firebase database URL
Firebase *savedRef2 = [[Firebase alloc] initWithUrl:@"https://example.firebaseio.com/Location_Coordinates"];

// Write data to Firebase

Firebase *postRef2 = [savedRef2 childByAppendingPath: @"LOCATION DATA"];
NSDictionary *post1 = @{
                      @"DATE":  dateString,
                      @"Lat": @(location.coordinate.latitude),
                      @"Long": @(location.coordinate.longitude),
                      @"USER": name,
                      };
Firebase *post1Ref = [postRef2 childByAutoId];
[post1Ref setValue: post1];

当用户点击应用中的保存时,数据会保存到我的Firebase数据库,但会一直保存为上一次保存的新对象。如何保存它以便保存一次,保存的其余部分是第一次保存数据的子项?

这是一张关于如何保存的图片Current saved data for coordinates.,我不想这样。我怎样才能使它看起来像这样2。我正在保存用户的坐标,但它不断重新创建一个新的' childByAutoId'字符串,我只是希望保存的数据属于第一个“childByAutoId”#39;字符串,而不是继续创建新的ID,因此每次保存时,每个用户坐标都会落在一个ID之下。

更新 我有不同的用户提交数据,并且数据是坐标。我希望只使用' childByAutoID'在一个节点下创建相同的用户数据。其余的数据(坐标)将在此之下。现在它的设置方式是MULTIPLE节点(childByAutoId)被记录到Firebase,这使我很难读取它,这就是为什么我想要首先创建一个节点(childByAutoId),其余节点属于那个EACH有人点击保存的时间。 这就是我目前的方式。 Current这就是我想要的Want

1 个答案:

答案 0 :(得分:1)

超级简单!

当用户验证auth时,Firebase变量会填充其用户ID。

通常,如果您要存储有关用户的信息,则应存储该数据或将该数据与其uid相关联。

因此,当您想要为每个用户存储数据时,请将其存储在父级为其uid的节点中

If([column] = -99999, null, [column])

然后创建引用

Location_Coordinates
 LOCATION DATA
   uid_0
     childByAutoId
     childByAutoId
   uid_1
     childByAutoId
     childByAutoId