如何使用Pyrebase

时间:2019-03-02 04:24:08

标签: python firebase pyrebase

我正在使用Pyrebase访问我的Firebase数据库。我的数据库目前的结构如下:

- users
    - 12345
        name: "Kevin"
        company: "Nike"

12345是用户的ID,公司是用户所属的公司。我目前正在尝试吸引所有属于耐克的用户。根据Pyrebase文档,执行以下操作应该可以:

db.child("users").order_by_child("company").equal_to("Nike").get().val()

但是我收到错误"error" : "orderBy must be a valid JSON encoded path"。有谁知道为什么会这样?

2 个答案:

答案 0 :(得分:0)

Pyrebase库出了点问题。这是问题的link

解决方案是在您的应用中添加这些代码行。

Compilation Error
Error: Invalid CSS after "$bg-prm: #2caddd": expected 1 selector or at-rule, was "{}"
    on line 1 of sass/Users/hassan/Desktop/JS_test/style.sass
>> $bg-prm: #2caddd {}

    ---------------^ 

答案 1 :(得分:0)

我设法解决了这个问题,因为我还使用了 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 的值都用逗号包裹,因此现在它们将返回您想要处理的数据。