如何使用 Python API 了解我在 Firestore 中拥有哪些集合

J.C*_*man 1 python-3.x firebase google-cloud-firestore

我正在使用 Python 从客户端连接到 firestore 数据库。

问题是我不知道如何查看他在数据库中有哪些集合:

from google.cloud import firestore
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore


cred = credentials.Certificate('credentials/credentials.json')
app = firebase_admin.initialize_app(cred)

db = firestore.client()

users_ref = db.collection(u'name_of_colection')
docs = users_ref.stream()

for doc in docs:
    print(u'{} => {}'.format(doc.id, doc.to_dict()))
Run Code Online (Sandbox Code Playgroud)

我一直在寻找如何获取他拥有的收藏的名称,但我没有找到任何对我有用的东西。我也尝试过这个:

cols = db.collections()
list_col = []
for col in cols:
    list_col.append(col)

len(list_col)
Run Code Online (Sandbox Code Playgroud)

我得到了 len = 6

然后我对生成的列表中的不同列执行了此操作:

docs = list_col[5].stream()

data = []

for doc in docs:
    data.append(doc.to_dict())
print(data) 
Run Code Online (Sandbox Code Playgroud)

该数据打印带有键和值的字典,但我不知道只获取带有集合名称的列表,

Alb*_*spo 5

我认为你必须从每个集合中获取id(这就是collection name你正在谈论的

list_col = []
for col in collections:
    list_col.append(col.id) // <-- add this please
print(list_col)
Run Code Online (Sandbox Code Playgroud)

我希望它能帮助你