Сделать идентичный узел в базе данных firebase realtime - PullRequest
0 голосов
/ 07 августа 2020

Предположим, есть два узла:

  1. пользовательские данные (внутри «пользовательских данных» мы имеем:)

    уникальное имя идентификатора: «ab c» широта : «123» долгота: «456»

  2. ключ пользователя (внутри «ключа пользователя» мы имеем:)

    уникальный идентификатор g: «awe46q» l 0: 123 1: 456

Здесь я хочу сохранить как «данные пользователя», так и «ключ пользователя» с одним и тем же уникальным идентификатором. Но я не знаю, как это сделать.

1 Ответ

0 голосов
/ 07 августа 2020

Я пробовал метод pu sh (), но он генерирует разные уникальные идентификаторы.

Это ожидаемое поведение, поскольку вызов push() несколько раз, всегда будет генерироваться каждый раз новый случайный идентификатор.

Придется ли мне использовать FirebaseAuth, чтобы сделать уникальный идентификатор похожим на «данные пользователя» и «ключ пользователя».

Что касается пользователей Идентификаторы, да, наиболее подходящим решением является реализация 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);
...