0

我有一个使用 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"]
      }
  }
}
4

0 回答 0