обновить отдельное поле документа в FireStore - PullRequest
0 голосов
/ 22 мая 2019

У меня есть документ ref user/userid23435534, и я хочу обновить одно (поле документа имеет несколько полей) (ник) в этом документе.

Я вызываю этот метод: ref.ref.update("nick","test123") и вижупосле регистрации того, что ref.getpath() действительно user/userid23435534.

Однако после вызова этого метода и получения успеха от моего OnSuccessListener я все еще вижу, что мое поле не обновляется в базе данных пожарного хранилища.Что я тут не так понял?

РЕДАКТИРОВАТЬ:

public static void updateDocument(){
    final DocumentReference ref = db.collection("user").document("userid23435534");
    ref.update("nick", "test123" )    //logging shows that red.getPath is "user/userid23435534"
        .addOnSuccessListener(aVoid -> {
            //success is called when calling method that runs this code
        }).addOnFailureListener(e -> {
            //....
        })
 }

1 Ответ

1 голос
/ 22 мая 2019

Я только что запустил этот код в локальном эмуляторе, и он без проблем обновляет документ:

DocumentReference ref = db.collection("56246892").document("uid");
ref.update("nick", "test123" ).addOnSuccessListener(new OnSuccessListener<Void>() {
    @Override
    public void onSuccess(Void aVoid) {
        System.out.println("Updated");
    }
});

Вы уверены, что документ уже существует? Это необходимо для работы update(). Если вы не уверены, существует ли документ, используйте set(..., SetOptions.merge()).

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