我正在使用Pyrebase訪問我的 Firebase 數據庫。我的數據庫目前的結構如下:- users - 12345 name: "Kevin" company: "Nike"哪里12345是用戶的id,公司是用戶所屬的公司。我目前正在嘗試獲取屬于 Nike 的所有用戶。根據 Pyrebase 文檔,做這樣的事情應該有效:db.child("users").order_by_child("company").equal_to("Nike").get().val()但我收到錯誤"error" : "orderBy must be a valid JSON encoded path"。有誰知道為什么會這樣?
2 回答

慕容森
TA貢獻1853條經驗 獲得超18個贊
Pyrebase 庫有問題。這是問題的鏈接。
解決方案是在您的應用程序中添加這些代碼行。
# Temporarily replace quote function
def noquote(s):
return s
pyrebase.pyrebase.quote = noquote

泛舟湖上清波郎朗
TA貢獻1818條經驗 獲得超3個贊
我設法解決了這個問題,因為我還使用了 rest api 來連接我的 firebase 實時數據庫。我將通過示例演示錯誤所在:
當我不orderBy
使用逗號包裝值(子項、鍵等)和其他查詢參數時,改造(我正在使用)給我錯誤/錯誤的請求。
這是錯誤/錯誤的請求網址:
https://yourfirebaseprojecturl.com/Users.json?orderBy=username&startAt=lifeofkevin
見,無論是orderBy
價值和startAt
價值,在這種情況下,username
和lifeofkevin
,不與逗號包裹,像這樣"username"
和"lifeofkevin"
,所以它會返回orderBy
必須是有效的JSON編碼的路徑。
為了工作,我需要orderBy
用逗號包裝我的和其他查詢參數,以便 Firebase 返回您想要使用的數據。
這是第二個例子,正確的例子:
https://yourfirebaseprojecturl.com/Users.json?orderBy="username"&startAt="gang"
現在注意,區別?的兩個值orderBy
和startAt
包裹用逗號所以現在他們會回到你想要使用的數據。
添加回答
舉報
0/150
提交
取消