在Firebase实时数据库中创建相同的节点

时间:2020-08-07 07:42:28

标签: java android firebase firebase-realtime-database geofire

假设有两个节点:

  1. 用户数据(在“用户数据”中:)

    唯一ID 名称:“ abc” 纬度:“ 123” 经度:“ 456”

  2. 用户密钥(在“用户密钥”内部:)

    唯一ID g:“ awe46q” 升 0:123 1:456

在这里,我要使用相同的唯一ID保存“用户数据”和“用户密钥”。但是我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

我尝试过push()方法,但它会生成不同的唯一ID。

这是预期的行为,因为多次调用push(),每次都会产生一个新的随机ID。

我必须使用FirebaseAuth来使“用户数据”和“用户密钥”的唯一ID相似。

对于用户ID,是的,最合适的解决方案是实施Firebase Authentication并使用在此过程中生成的UID。最后,您可以在所需的每个引用中简单地使用相同的UID,例如:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference userDataRef = rootRef.child("userData").child(uid); //One reference
userDataRef.setvalue(yourObject);
DatabaseReference otherUserDataRef = rootRef.child("otherUserData").child(uid); //Second reference
otherUserDataRef.setvalue(otherObject);