Firestore Firebase Android поиск и обновление запроса - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь обновить поле существующего документа в моей коллекции в FireBase Firestore .Я хочу найти этот документ, используя одно из его полей.Моя коллекция называется «Жалобы», структура моего документа выглядит так:

complainant_Name: "XYZ"
complaint_Details : "some random details"
e_Mail: "xyz@gmail.com"
id: 5
phone_No: "1234567890" 

Я хочу искать документы, и если в поле «id» документа указано «5», я хочу обновить его, например «изменить»complainant_Name "в поле" ABC ".Как написать код для этого запроса в Java Android?Я не смог найти источник кода, который рассказывает, как обновить после поиска в Firebase Firestore .

1 Ответ

0 голосов
/ 19 ноября 2018

Чтобы решить эту проблему, используйте следующие строки кода:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference complaintsRef = rootRef.collection("complaints");
complaintsRef.whereEqualTo("id", 5).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        if (task.isSuccessful()) {
            for (QueryDocumentSnapshot document : task.getResult()) {
                Map<Object, String> map = new HashMap<>();
                map.put("complainant_Name", "ABC");
                complaintsRef.document(document.getId()).set(map, SetOptions.merge());
            }
        }
    }
});

После использования этого кода свойство complainant_Name будет содержать значение ABC.

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