【问题标题】:How to delete from firebase realtime database use python如何从firebase实时数据库中删除使用python
【发布时间】:2019-11-24 08:58:57
【问题描述】:

我在 Python 中使用 Firebase 实时数据库,结构数据如下:

{
  "users" : {
    "-LuOXedSsg_1vZ9WBePA" : {
      "name" : "Adam",
      "password" : "adam",
      "username" : "adam"
    },
    "-LuOXk-fE99ucZbrlBk_" : {
      "name" : "Joi",
      "password" : "joi",
      "username" : "joi"
    }
  }
}

我想用以下代码删除 child("-LuOXk-fE99ucZbrlBk_")

# input
username_to_delete = input ("username:")

data = ref.get()

for key,val in data.items():
    if (username_to_delete == val['username']):
        delete_user_ref = ref.child(key)
        delete_user_ref.set(None)
    else:
        print(usernameDoesNotExist)

我想通过将其设置为 NULL (在 Python 中为 None)来删除孩子,但是当它启动并输入正确的 用户名 ,我收到这样的错误:

in set
     raise ValueError ('Value must not be None.')
ValueError: Value must not be None.

我该怎么办?我还是 firebase 和 python 的新手。

【问题讨论】:

    标签: python firebase firebase-realtime-database


    【解决方案1】:

    你可以使用delete()方法:

    delete_user_ref.delete()
    

    参考以下文档:

    https://firebase.google.com/docs/reference/admin/python/firebase_admin.db

    设置(值) 将此位置的数据设置为给定值。

    该值必须是 JSON 可序列化的,而不是 None。

    参数:
    value – 要在此位置设置的 JSON 可序列化值。

    加薪:
    ValueError – 如果提供的值为 None。 TypeError – 如果值不是 JSON 可序列化的。 FirebaseError – 如果在与远程数据库服务器通信时发生错误。

    【讨论】:

    • 最初我认为通过将 Child 设置为 NULL (在 python 中为 None )它会删除用户,但它没有。嘿,我非常感谢,因为现在我可以使用 delete() 方法删除用户。 @PeterHaddad
    猜你喜欢
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多