我有一个参考编号为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 -> {
//....
})
}
答案 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())
。