- 首先,在引入
Firestore
模块的代码前,需要导入 FirebaseApp
:
from google.cloud import firestore
from google.cloud import firebase_app
- 然后,使用以下代码查询所需数据:
# 构造查询条件,'*' 表示该文档下的任意子字段名
query = firestore.client().collection('collection_name').where('*.subfield_name.value_name', '==', 'desired_value')
# 执行查询并输出结果
docs = query.stream()
for doc in docs:
print(f'{doc.id} => {doc.to_dict()}')
其中,collection_name
为所查询的集合名称,subfield_name
和 value_name
分别为需查询的子字段和其对应的值。
示例代码:假设你有以下数据结构:
collection_name (集合)
doc_id (文档)
*subfield_name (子字段)
value_name (值)
若你想查询 collection_name
集合下 doc_id
文档中 subfield_name
子字段下的值为 desired_value
的数据,则可以使用以下代码:
query = firestore.client().collection('collection_name').where('*.subfield_name.value_name', '==', 'desired_value')
docs = query.stream()
for doc in docs:
print(f'{doc.id} => {doc.to_dict()}')
以上代码将返回符合查询条件的文档以及其对应的数据。