更新Firestore中的单个文档字段

时间:2019-05-21 22:03:06

标签: android firebase google-cloud-firestore

我有一个参考编号为user/userid23435534的文档,我想在该文档中更新一个(文档具有多个字段)字段(昵称)。

我将此方法称为:ref.ref.update("nick","test123"),从记录中可以看到ref.getpath()确实是user/userid23435534

但是,在调用此方法并从OnSuccessListener获得成功之后,我仍然看到我的字段在firestore数据库中没有更新。我在这里怎么了?

编辑:

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 个答案:

答案 0 :(得分:1)

我只是在本地仿真器中运行了这段代码,它更新了文档而没有问题:

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())