Создайте пользовательский идентификатор документа в FireStore в Android, вместо генерации случайного - PullRequest
0 голосов
/ 02 февраля 2019

Как мне отредактировать этот код, чтобы я мог создать свой собственный идентификатор документа в Firestore?

users.add(new Accounts(fname, lname, uname, email, pass)).addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
        @Override
        public void onSuccess(DocumentReference documentReference) {
            Toast.makeText(CreateAccount.this, "Data saved to FireStore", Toast.LENGTH_SHORT).show();
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
             Log.d(TAG, e.toString());
        }
    });

1 Ответ

0 голосов
/ 02 февраля 2019

Если вы хотите создать собственный идентификатор документа, который создается при использовании метода CollectionReference add () , который:

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

Вам следует использовать метод set () DocumentReference:

Перезаписывает документна которые ссылается этот DocumentRefere

Если вы хотите получить сгенерированный идентификатор документа или использовать пользовательский идентификатор в своей ссылке, используйте следующие строки кода:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference usersRef = rootRef.collection("users");
//String id = usersRef.collection("users").document().getId(); //Gets de generated id
String id = "yourCustomId";
Accounts accounts = new Accounts(fname, lname, uname, email, pass);
usersRef.document(id).set(accounts);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...