📅  最后修改于: 2023-12-03 15:11:50.276000             🧑  作者: Mango
在 Firestore 中,每个文档都有一个唯一的 ID,我们在编写程序时,有时需要获取这个文档的 ID。本文将介绍如何在 Firestore 中获取文档的 ID。
在进行下面的代码示例之前,需要确保已经初始化了 Firestore 并获得了对文档的引用。
from google.cloud import firestore
# 初始化 Firestore
db = firestore.Client()
# 获取文档引用
doc_ref = db.collection("users").document("alice")
DocumentReference 对象有一个 id 属性,可以直接获取文档的 ID。
# 获取文档 ID
doc_id = doc_ref.id
# 输出文档 ID
print(f"Document ID: {doc_id}")
这种方式非常简单,而且不需要进行额外的网络请求,因为文档 ID 是本地缓存的。
如果您已经获得了文档的快照,那么可以使用 DocumentSnapshot 对象的 id 属性。
# 获取文档快照
doc_snapshot = doc_ref.get()
# 获取文档 ID
doc_id = doc_snapshot.id
# 输出文档 ID
print(f"Document ID: {doc_id}")
请注意,这种方式需要进行一次网络请求,因为我们需要获取文档的快照。
如果您想要获取一个集合中所有文档的 ID,可以使用 QuerySnapshot 对象的 documents 属性。
# 获取文档集合
docs = db.collection("users").get()
# 输出所有文档的 ID
for doc in docs:
print(f"Document ID: {doc.id}")
这种方式需要进行额外的网络请求,因为我们需要获取文档集合的快照。
在 Firestore 中,获取文档 ID 是非常简单的,可以使用 DocumentReference、DocumentSnapshot 或 QuerySnapshot 对象的 id 属性。无论您选择哪种方式,都可以快速获得文档的 ID。