📜  获取 doc id firestore (1)

📅  最后修改于: 2023-12-03 15:11:50.276000             🧑  作者: Mango

获取 Firestore 中的 Document ID

在 Firestore 中,每个文档都有一个唯一的 ID,我们在编写程序时,有时需要获取这个文档的 ID。本文将介绍如何在 Firestore 中获取文档的 ID。

前提条件

在进行下面的代码示例之前,需要确保已经初始化了 Firestore 并获得了对文档的引用。

from google.cloud import firestore

# 初始化 Firestore
db = firestore.Client()

# 获取文档引用
doc_ref = db.collection("users").document("alice")
方法一:使用 DocumentReference.id 属性

DocumentReference 对象有一个 id 属性,可以直接获取文档的 ID。

# 获取文档 ID
doc_id = doc_ref.id

# 输出文档 ID
print(f"Document ID: {doc_id}")

这种方式非常简单,而且不需要进行额外的网络请求,因为文档 ID 是本地缓存的。

方法二:使用 DocumentSnapshot.id 属性

如果您已经获得了文档的快照,那么可以使用 DocumentSnapshot 对象的 id 属性。

# 获取文档快照
doc_snapshot = doc_ref.get()

# 获取文档 ID
doc_id = doc_snapshot.id

# 输出文档 ID
print(f"Document ID: {doc_id}")

请注意,这种方式需要进行一次网络请求,因为我们需要获取文档的快照。

方法三:使用 QuerySnapshot.documents 属性

如果您想要获取一个集合中所有文档的 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。