Как создать уникальный вход в Firebase Firestore? - PullRequest
0 голосов
/ 23 марта 2020

Я новичок в android разработке. Я пытался добавить уникальный ввод в мое приложение android для каждого пользователя. В настоящее время я могу поместить переменную имени пользователя в мой Firestore, но когда я ввожу переменную со своего второго телефона, она перезаписывает первый ввод.

Я хочу, чтобы у каждого пользователя был уникальный ввод и вывод внутри моего приложения, а не пересекаются с данными других пользователей.

Мой код:

 private DocumentReference docref = db.collection("UserData").document("UserDocuments");

     String name = name_input.getText().toString();

           Map<String, Object> user = new HashMap<>();
            user.put(NAME_KEY, name);

           docref.update(user);

1 Ответ

1 голос
/ 23 марта 2020

когда я ввожу переменную со своего второго телефона, она перезаписывает первый ввод.

Это происходит потому, что между вашими пользователями нет уникального идентификатора. Каждый пользователь записывает данные в один и тот же документ с именем UserDocuments. В этом случае наиболее распространенной практикой является реализация аутентификации Firebase . После аутентификации пользователя вы можете использовать uid для создания различных пользовательских объектов в вашей базе данных. Возможная схема базы данных может выглядеть следующим образом:

Firestore-root
  |
  --- users (collection)
        |
        --- uidOne (document)
        |    |
        |    --- name: "John Smith"
        |
        --- uidTwo (document)
             |
             --- name: "Peter Max"

Таким образом, вы можете использовать тот же метод update(), но теперь вы можете обновить нужного пользователя, не перезаписывая тот же документ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...