要使用子值搜索功能,您需要使用Firebase的云Firestore数据库。以下是一个使用Firestore进行子值搜索的示例代码:
首先,您需要导入Firebase和Firestore的库:
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
然后,您需要初始化Firebase应用并获取Firestore实例:
cred = credentials.Certificate("path/to/serviceAccountKey.json")
firebase_admin.initialize_app(cred)
db = firestore.client()
接下来,您可以使用Firestore的查询功能来搜索子值。假设您有一个名为"users"的集合,其中每个文档都有一个名为"skills"的字段,存储用户的技能列表。您希望按技能搜索用户,并返回匹配的文档。
# 搜索包含特定技能的用户
def search_users_by_skill(skill):
users_ref = db.collection('users')
query = users_ref.where('skills', 'array_contains', skill)
results = query.get()
for doc in results:
print(f'{doc.id} => {doc.to_dict()}')
# 调用函数并搜索特定技能的用户
search_users_by_skill('Python')
在上面的示例代码中,search_users_by_skill
函数接受一个技能作为参数,并使用where
方法来创建一个查询,其中条件是在"skills"字段中包含该技能。然后,使用get
方法执行查询并获取结果。最后,遍历结果并打印每个文档的ID和内容。
请注意,您需要将"path/to/serviceAccountKey.json"
替换为您自己Firebase项目的服务帐户密钥文件的路径。
这是使用Firestore进行子值搜索的一个简单示例。您可以根据自己的需求进行更多的自定义和扩展。
下一篇:按子字典的值排序字典中的字典