为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

凤凰求蛊 2021-11-23 19:54:29
我正在使用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


查看完整回答
反对 回复 2021-11-23
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

我设法解决了这个问题,因为我还使用了 rest api 来连接我的 firebase 实时数据库。我将通过示例演示错误所在:

当我不orderBy使用逗号包装值(子项、键等)和其他查询参数时,改造(我正在使用)给我错误/错误的请求。

这是错误/错误的请求网址:

https://yourfirebaseprojecturl.com/Users.json?orderBy=username&startAt=lifeofkevin

见,无论是orderBy价值和startAt价值,在这种情况下,usernamelifeofkevin,不与逗号包裹,像这样"username""lifeofkevin",所以它会返回orderBy必须是有效的JSON编码的路径。

为了工作,我需要orderBy用逗号包装我的和其他查询参数,以便 Firebase 返回您想要使用的数据。

这是第二个例子,正确的例子:

https://yourfirebaseprojecturl.com/Users.json?orderBy="username"&startAt="gang"

现在注意,区别?的两个值orderBystartAt包裹用逗号所以现在他们会回到你想要使用的数据。


查看完整回答
反对 回复 2021-11-23
  • 2 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信