我尝试制作一个在线数据库(Firebase),用于测试和学习。 我成功地在数据库中添加了成员,但我不知道我的代码来自remove的问题在哪里。
这是我的代码:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<button onclick="saveData()">Save Data</button>
<button onclick="printData()">Print Data</button>
<button onclick="printData2()">Print Data2</button>
<button onclick="remove()">Remove</button>
<script src="https://cdn.firebase.com/js/client/2.4.2/firebase.js"></script>
<script>
var ref = new Firebase("https://projecttest-9aee9.firebaseio.com/web/saving-data/fireblog");
var usersRef = ref.child("users");
function saveData(){
usersRef.set({
alanisawesome: {
date_of_birth: "June 23, 1912",
full_name: "Alan Turing"
},
gracehop: {
date_of_birth: "December 9, 1906",
full_name: "Grace Hopper"
}
});
}
function printData(){
usersRef.on("value", function(snapshot) {
console.log(snapshot.val());
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
}
function printData2(){
ref.child("users/gracehop/date_of_birth").on("value", function(snapshot) {
console.log(snapshot.val());//"December 9, 1906"
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
}
var ref = new Firebase("https://projecttest-9aee9.firebaseio.com/web/saving-data/fireblog/users");
var usersRef= ref.child("users");
function remove(){
usersRef.remove({
.then(function() {
console.log("Remove succeeded.")
})
.catch(function(error) {
console.log("Remove failed: " + error.message)
})
});
}
</script>
</body>
</html>
我是新手,我需要你的帮助!
感谢您的关注!
答案 0 :(得分:2)
remove()
的语法错误,承诺的处理如下:
usersRef.remove()
.then(function() {
console.log("Remove succeeded.")
})
.catch(function(error) {
console.log("Remove failed: " + error.message)
});
修复后,您需要确保usersRef
对应于您要删除的内容。
如果您的用户由Firebase用户ID键入,例如:
"users" : {
"8dGTb3sxVCbll" : {
...
},
"bGIav9o7PhhIB" : {
...
},
}
您想将userRef
设置为类似
usersRef = firebase.database().ref(`users/${user.uid}`);
然后简单地做
usersRef.remove()
还有一种可能更简洁的删除用户的方法。来自the docs
var user = firebase.auth().currentUser;
user.delete().then(function() {
// User deleted.
}, function(error) {
// An error happened.
});
我不确切知道您的设置,因此您可能需要尝试这两种解决方案。 如果您有疑问,请告诉我。