Как сохранить идентификатор документа в поле документа в Android Firestore? - PullRequest
0 голосов
/ 18 октября 2019

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

 String id = db.collection("user_details").document().getId();

                                Map map = new HashMap<>();
                               map.put("username", username);
                                map.put("email", email);
                                map.put("id", id);




                                UserRef.document(id).set(map).addOnSuccessListener(new OnSuccessListener<Void>() {
                                    @Override
                                    public void onSuccess(Void aVoid) {

                                        //progressbar invisible;
;

                                    }
                                });

1 Ответ

1 голос
/ 18 октября 2019

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

Сначала получите DocumentReference:

DocumentReference ref = db.collection("user_details").document();

Получите его идентификатор:

String id = ref.getId();

Затем составьте данные для отправки:

Map map = new HashMap<>();
map.put("username", username);
map.put("email", email);
map.put("id", id);

И, наконец, поместите эти данные в документ, на который ссылались ранее:

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