我正在Python中使用Firebase实时数据库,并且具有如下结构数据:
{
"users" : {
"-LuOXedSsg_1vZ9WBePA" : {
"name" : "Adam Canrayneldy",
"password" : "adam",
"username" : "adam"
},
"-LuOXk-fE99ucZbrlBk_" : {
"name" : "Mei Mei",
"password" : "mei",
"username" : "mei"
}
}
}
我要使用以下代码删除 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的新手。
答案 0 :(得分:2)
您可以使用delete()
方法:
delete_user_ref.delete()
作为参考,请检查以下文档:
https://firebase.google.com/docs/reference/admin/python/firebase_admin.db
设置(值) 将此位置的数据设置为给定值。
该值必须可以JSON序列化,并且不能为None。
参数:
值–可以在此位置设置的JSON可序列化的值。提高:
ValueError –如果提供的值为None。 TypeError –如果该值不是JSON可序列化的。 FirebaseError –如果与远程数据库服务器通信时发生错误。