gpt4 book ai didi

python - 通过使用 Python 给出属于该文档的字段值来获取 firestore 中文档的数据?

转载 作者:行者123 更新时间:2023-12-05 03:23:30 24 4
gpt4 key购买 nike

我是 python 的新手。我正在为此项目使用 firebase firestore 数据库。输入Admission_No后,我想检索相关文件中的所有数据,例如namegradephone。我试图为它写一个程序。但是我失败了。请帮助我完成我的项目。谢谢大家。

代码可能充满错误。请不要介意并为我修复它们。

示例数据 Sample Data Structure

这是我的代码

.py

import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore

cred = credentials.Certificate("cred.json")
firebase_admin.initialize_app(cred)

db = firestore.client()

data = {
'Admission_No': input('enter ad_no : ')
}

query_ad = db.collection(u'Users').where(u"Admission_No", u"==", data["Admission_No"]).get()

get_data = db.collection(u'Users').where(u"Name", u"==", data["Name"]).get()

if query_ad:
print('Exist')
print(get_data)

else:
print("Doesn't Exist")

最佳答案

在检查您的代码时,您声明了另一个查询 Name,但您没有将其包含在数据字典 (data) 中。您可以删除查询 get_data 并仅使用您的 query_ad 来检查/获取您的 admission_no 的值:

未经测试的代码:

import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore

cred = credentials.Certificate("cred.json")
firebase_admin.initialize_app(cred)

db = firestore.client()

data = {
'Admission_No': input('enter ad_no : ')
}

query_ad = db.collection(u'users').where(u"Admission_No", u"==", data["Admission_No"]).stream()

for doc in query_ad:
print(f'{doc.id} => {doc.to_dict()}')

由于您使用了 where() 来查询您的文档,因此您可以按照本指南前往 get multiple documents from a collection .此外,默认情况下,Cloud Firestore 按文档 ID 升序检索满足查询的所有文档,但您可以 order and limit the data returned .

更多引用,可以查看这个guide在 Cloud Firestore 中执行简单和复合查询

关于python - 通过使用 Python 给出属于该文档的字段值来获取 firestore 中文档的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72507137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com