这是我在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有人点击保存的时间。 这就是我目前的方式。 这就是我想要的
答案 0 :(得分:1)
超级简单!
当用户验证auth时,Firebase变量会填充其用户ID。
通常,如果您要存储有关用户的信息,则应存储该数据或将该数据与其uid相关联。
因此,当您想要为每个用户存储数据时,请将其存储在父级为其uid的节点中
If([column] = -99999, null, [column])
然后创建引用
Location_Coordinates
LOCATION DATA
uid_0
childByAutoId
childByAutoId
uid_1
childByAutoId
childByAutoId