繁体   English   中英

使用自动生成的 ID 更新 firebase 中的文档

[英]Updating a document in firebase with an auto generated ID

我已经学会了如何从 Firebase 添加和删除。 这很简单。

我的删除代码在单击删除按钮时被激活,它在我的适配器类中找到(这是我可以正确注册删除按钮单击的唯一方法)

public void deleteJournal(int position) {
        getSnapshots().getSnapshot(position).getReference().delete();
}

并添加(在另一个类中)

CollectionReference diaryRef = FirebaseFirestore.getInstance()
                .collection("Diary");
        diaryRef.add(new Diary(growName, description, priority));

但我什至不知道从哪里开始更新。 我将把编辑代码放在适配器类中,这将打开一个对话框窗口来编辑值。

我知道如何创建窗口并编辑值并为此数据设置新变量。 但是我如何确保我通过点击相应的编辑按钮将此更新后的数据应用到文档中? 然后正确更新 Firebase。

diaryRef.add(new Diary(growName, description, priority)).addOnSuccessListener(documentReference -> {
                        String id = documentReference.getId();
                        db.collection("Diary").document(id).update("entryId", id);
                    });

现在您将拥有一个唯一的 ID 来删除或更新条目

但是我如何确保我将这个更新的数据应用到文档中

以同样的方式,您正在删除文档。 请看下面的方法:

public void updateJournal(int position) {
    Diary diary = getSnapshots().getSnapshot(position).toObject(Diary.class);
    //Make the changes
}

拥有Diar y 对象后,您可以进行所需的更新,然后将文档写回数据库,如您的问题所示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM