我可以阅读我的firebase数据库,我可以将新数据推送到它。我正在使用pyrebase和python 3.6。但是,当从它删除数据时,我无法删除任何数据。有什么建议?
import pyrebase
config = {
"apiKey": "***",
"authDomain": "****.firebaseapp.com",
"databaseURL": "https://***.firebaseio.com",
"storageBucket": "*****.appspot.com",
"serviceAccount": "secret/****.json"
}
firebase = pyrebase.initialize_app(config)
auth = firebase.auth()
email = "*****"
password = "****"
user = auth.sign_in_with_email_and_password(email, password)
db = firebase.database()
charities_d = {
"haaaaello": {
"obj": None,
"open": [1, 1, 1, 1, 1],
"bags": [2, 2, 2, 2, 2],
},
"bantdddder": {
"obj": None,
"open": [1, 1, 1, 1, 1],
"bags": [2, 2, 2, 2, 2],
},
"dsddd": {
"obj": None,
"open": [1, 1, 1, 1, 1],
"bags": [2, 2, 2, 2, 2],
},
}
# db.child("users").push({"name": "bub"}, user["idToken"])
# db.child("users").child({"name": "bub"}).remove(user["idToken"])
db.child("users").child("bub").remove(user['idToken'])
数据库的结构是 D B: - 用户 - >小家伙anotherName
答案 0 :(得分:1)
对,我想出了自己的问题。现在已经很晚了,我猜我刚刚花了太多时间在这个上面!基本上当你作为更高级别的块推入数据库时使用pyrebase
时,会产生时间生成的哈希值。如果你这样做的话
db.child(COLLECTION).child(ID_OF_ELEMENT).set(DATA, TOKEN)
您的更高级别的块将成为ID_OF_ELEMENT,所以当您
db.child(COLLECTION).child(ID_OF_ELEMENT).remove(TOKEN)
它实际上找到了您的项目并将其从数据库中删除。