首页 > 解决方案 > 有没有办法从 Firestore 访问自动生成文档 ID?

问题描述

我可以知道有什么方法可以使用 Java 访问 Firestore 中的自动生成文档 ID 吗?因为我想通过我自己的 android 应用程序向现有文档添加新字段和数据。我浏览了文档,但没有找到任何解决问题的方法。

问题的详细说明: 我尝试获取每个“事件”文档的自动生成 ID,以便为 Firestore 中的每个“用户”添加/更新新字段“保存事件”。这样 1 个用户就可以在 firestore 中保存许多“事件”我试图弄清楚的代码 数据库结构

标签: javaandroidfirebasegoogle-cloud-firestore

解决方案


为了使用您要查找的文档 ID,首先,您需要将其存储在一个变量中。当您将文档添加到数据库并使用 document()方法调用而不传递任何参数时,将生成唯一 ID。要获取该 ID,您应该使用以下代码:

String docId = collRef.document().getId();
collRef.document(docId).set(obj);

其中“collRef”是指向要在其中添加文档的集合的引用,“obj”是要添加到数据库中的对象。

如果需要,您还可以将文档 ID 存储为对象的属性。

获得此 ID 后,您可以执行如下更新:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference collRef = rootRef.collection("collName");
collRef.document(docId).update(map).addOnCompleteListener(/* ... /*);

推荐阅读