我在Firestore中创建了一个数据库,其中包含用户名和类别两个字段。下一步是创建一个使用用户名字符串作为输入的Web请求激活功能,在数据库中为该用户名编制索引并检索类别。
到目前为止,我已经使用Google json身份验证在本地完成了任务,并且工作正常。转到Firestore,读取集合并根据输入的用户名字符串返回用户类别。我还部署了该函数,并通过一个请求进行了测试,它也可以正常工作,激活该函数并从该请求中获取用户名字符串。但是,由于某些未知原因,它没有从Firestore集合中检索数据。即使集合名称错误(它在本地也没有),它也不会返回错误消息,因此我不知道连接是否有问题,或者连接到上一步(也许是身份验证,尽管据我所知)知道同一项目的功能中不需要身份验证。
我将请求和填充部件排除在外,因为它们工作正常。
if (not len(firebase_admin._apps)):
cred = credentials.ApplicationDefault()
app = firebase_admin.initialize_app(cred)
store = firestore.Client()
doc_ref = store.collection(u'output_list2')
docs = store.collection(u'output_list2').where(u'username', u'==', username).limit(1).stream()
doc = next(docs)
response = doc.to_dict()['Category']
print(response)
此脚本在next(docs)
行中引发错误,因为生成器实际上是空的。就是说,查询在集合output_list2处没有输出。我将不胜感激。
谢谢。