我有一个使用 Python 库 Pyrebase 设置的 Firebase 实时数据库。我正在尝试查询数据库以找到相等的值。我的问题是我使用的查询不返回任何值,只是空括号。这是我用来检查相等值的查询result = db.child("Users").order_by_child("Userid").equal_to( mUserID ).get()
。但是,如果mUserID
将其替换为实际值,例如O3tsfXJY8DXL52XF8PO65IAQFV,它就可以正常工作并返回正确的用户。我不确定为什么mUserID
查询中不接受该变量。它被正确设置并被赋予了一个值。我已经按照 Pyrebase Doc 查询相等的值,但我似乎无法发现任何问题。
下面我贴出了代码和数据库的结构。还提供了.onIndex
数据库规则。
def database(mUserID):
if mUserID:#If value is inputed
print("Searching..")
try:
result = db.child("Users").order_by_child("Userid").equal_to( mUserID ).get()
print(result.val(), "User Exist!")
except ValueError:
print("No Value given/stored")
{
"rules": {
".read": true,
".write": true,
"Users": {
".indexOn" : ["Userid"]
}
}
}