如何使用 Pyrebase 获取具有特定子键的数据

我正在使用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"。有谁知道为什么会这样?


凤凰求蛊
浏览 171回答 2
2回答

慕容森

Pyrebase 库有问题。这是问题的链接。解决方案是在您的应用程序中添加这些代码行。# Temporarily replace quote functiondef noquote(s):    return spyrebase.pyrebase.quote = noquote

泛舟湖上清波郎朗

我设法解决了这个问题,因为我还使用了 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包裹用逗号所以现在他们会回到你想要使用的数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python