无法从Firebase数据库中删除数据

时间:2018-05-09 00:30:29

标签: python python-3.x firebase firebase-realtime-database python-3.6

我可以阅读我的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

1 个答案:

答案 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) 它实际上找到了您的项目并将其从数据库中删除。