我试图从集合中的所有文档中读取特定字段,而不列出所有字段。例如,我只想从 Donut 集合中的所有文档中读取和打印 Brand。但现在我的 python 脚本正在打印所有文档中的所有字段(代码获取自:https://firebase.google.com/docs/firestore/quickstart)。我在其中找不到答案。有人可以帮忙吗?
尝试下面的代码,它将打印 Donut 集合中所有文档中的所有品牌:
users_ref = db.collection('Donut')
docs = users_ref.stream()
for doc in docs:
brand = u'{}'.format(doc.to_dict()['Brand'])
print(brand)
如果您只需要一个字段,您可以使用 DocumentSnapshot 的 get() 方法。下面的代码应该可以满足您的需求:
users_ref = db.collection('Donut')
docs = users_ref.stream()
for doc in docs:
brand = doc.get('Brand')
print(brand)
如果您只需要该文档中的一个字段,您可以使用 select 来指定所需的字段,这将使您的查询更加高效。
users_ref = db.collection('Donut').select(['Brand'])
docs = users_ref.stream()
for doc in docs:
brand = doc.to_dict()['Brand']
print(brand)