[英]Can't get the correct document id in Firestore
在我的TimeForm
活动中,我向Firestore添加了一些数据,但是没有将它们添加到特定的文档中,因为我需要使用.addSnapshotListener
读取它们,但是我需要删除一些文档。 例如,这是我在星期一集合中的文档:
但是,当我尝试删除它们时,执行以下操作:
db.collection("monday").document()
.delete()
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully deleted!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error deleting document", e);
}
});
这没有用,因为我没有设置文档名称。 然后我问如何获取文档ID(此处是页面: 从firestore删除数据 ),它没有发送正确的文档ID。 我添加了一个测试按钮,当我单击它时,它显示了带有文档ID的祝酒词,但是每次按此按钮时,它都会显示随机ID,但都不正确。 如何一次一次删除所有这些文件。
它显示了随机ID,但没有一个是正确的。
发生这种情况是因为您没有将任何内容传递给document()
方法。 根据CollectionReference的document()方法的官方文档:
返回一个DocumentReference,它指向此集合中具有自动生成的ID的新文档。
因此,每次调用document()
方法而不传递任何参数时,您都会获得一个新的 auto-generated ID
,该auto-generated ID
永远不会与您现有的auto-generated ID
匹配。
为了删除特定文档,您需要将要删除的文档的特定ID传递给document()
方法。 它可能看起来像这样:
db.collection("monday").document("2wZg ... GmfS").delete().addOnSuccessListener(/* ... */);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.