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

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

My firestore

Код:

    final String getID = firebaseFirestore.collection("Users").document(currentUser.getUid()).collection("Documents").document().getId();

    buttonUpdate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final String inspectorName = editInspector.getText().toString().trim();
            final String marketLocation = editLocation.getText().toString().trim();

            progressUpdated.show();

            firebaseFirestore.collection("Users").document(currentUser.getUid()).collection("Documents").document(getID).update("inspectorName", inspectorName, "marketLocation", marketLocation).addOnCompleteListener(new OnCompleteListener<Void>() {
                 @Override
                  public void onComplete(@NonNull Task<Void> task) {
                       if (task.isSuccessful()) {
                          Toast.makeText(StartCounting.this, "Document updated", Toast.LENGTH_SHORT).show();

                          progressUpdated.dismiss();
                          dialogUpdate.dismiss();
                        }
                   }
             }).addOnFailureListener(new OnFailureListener() {
                  @Override
                  public void onFailure(@NonNull Exception e) {
                      Toast.makeText(StartCounting.this, "Error : " + e.toString(), Toast.LENGTH_LONG).show();

                      progressUpdated.dismiss();
                }
            });
        }
    });

1 Ответ

1 голос
/ 23 сентября 2019

Это не обновление, потому что:

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

String getID = firebaseFirestore.collection("Users").document(currentUser.getUid()).collection("Documents").document().getId();

ТакЯ предлагаю вам хранить идентификатор, который вы получаете из getID магазина под каждым пользовательским документом.Примерно так же, когда вы создаете / генерируете документ, просто добавьте строковое значение id в поле userid.

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