Как обновить документ в FireStore, используя ссылку на коллекцию? - PullRequest
0 голосов
/ 01 апреля 2019

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

1 Ответ

1 голос
/ 01 апреля 2019

Сохранить идентификатор при получении данных, например,

db.collection("cities")
    .whereEqualTo("capital", true)
    .get()
    .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                for (QueryDocumentSnapshot document : task.getResult()) {
                    City city = document.toObject(City.class);

                    city.setId(document.getId()); //This is what you are looking for

                    ...

                }
            } else {
                Log.d(TAG, "Error getting documents: ", task.getException());
            }
        }
    });

Можно при обновлении

city.setName("LA"); //edit object
db.collection("cities").document(city.id).set(city); //save object

PS Я не запускал этот код - могут быть синтаксические ошибки, будьте осторожны, чтобы не скопировать вставку.

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