【问题标题】:Unable to update data in real time firebase databse无法更新实时 Firebase 数据库中的数据
【发布时间】:2021-08-14 10:07:42
【问题描述】:

我正在使用烧瓶制作一个网络应用程序,并且为了在后端使用 firebase,我正在使用 pyrebase。我创建了一个用户帐户,以 json 对象的形式发送配置文件数据并保存到实时数据库。如果数据的结构是这样的;

现在我想更新收入和支出的值。我正在更新这样的收入数据;

        income = request.form.get("income")
        price = request.form.get("price")
        data = {"income" : income, "price": price}
        incomes.append(data)
        a = db.child("users").update({"incomes": incomes})

但收入值并未在 Firebase 中更新。相反,它是这样添加的;

如何更新值。我查找了 pyrebase 的自述文件,并按照相同的方法更新值。

【问题讨论】:

  • 是的,我尝试了您的解决方案,效果很好。但是我不能让它通用来获取每个用户。您说So in your case you need to know the -Mh2v8... key too and pass that into your update call: API 使用 idToken、刷新令牌电子邮件和其他一些实体进行响应,但我没有找到有关分配给每个用户的特定密钥的任何信息。我不知道如何获取它。
  • 您是否在询问如何使用给定的电子邮件在数据库中查找节点?那将是一个新的、单独的问题,但会以github.com/thisbejim/Pyrebase#complex-queries 开头

标签: python flask firebase-realtime-database pyrebase


【解决方案1】:

要将值写入实时数据库的节点,您需要知道该节点的确切路径。因此,在您的情况下,您也需要知道 -Mh2v8... 密钥并将其传递给您的更新调用:

db.child("users").child("-Mh2v89LOLthJBSImbN-").update({"incomes": incomes})

如果您最初读取数据库中的数据,那么最容易记住当时每个项目的键。

如果您确实不知道密钥,但知道用户的其他一些唯一属性,您可以use a query 根据该唯一值查找用户的密钥。

【讨论】:

    猜你喜欢
    • 2022-07-08
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 2022-12-01
    • 2020-11-10
    • 1970-01-01
    相关资源
    最近更新 更多