【发布时间】:2019-05-21 22:03:06
【问题描述】:
我有一个文档 ref 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 -> {
//....
})
}
【问题讨论】:
-
请编辑问题以显示更完整的代码示例。这里还不足以完全理解你在做什么。
-
感谢您的评论@DougStevenson 我现在已经编辑了我的问题并添加了更多代码。如果还不清楚还有什么需要,请告诉我。
-
我认为代码不会编译。您正在以
ref作为参数的函数内部重新定义ref。 Java 不允许这样做。 -
哦,对不起。我编辑了我的方法。我的 ref 实际上是方法的一个参数,是在另一个类的方法之外定义的。集合和文档参数由程序的不同部分设置。我对其进行了编辑以使问题更简单。但是我在我为 SO 进行的小改动之前和之后记录了它的值是否相同,并且确实如此。 @DougStevenson 很抱歉造成混乱。
-
如果这不是您正在使用的确切代码,我不确定它在这里是否会有所帮助。在 Stack Overflow 上,您应该提供一个 MCVE 来说明该问题,任何人都可以自行重现。
标签: android firebase google-cloud-firestore