0
我已經嘗試了不同類型的解決方案,通過Firebase數據庫中的鍵刪除子元素,但沒有任何影響。我做錯了什麼?Firebase:刪除子元素不起作用
我的數據庫結構如下所示,其中players
是數據庫的根目錄下
我有一個角2單頁應用,其中在的index.html包括火力客戶端初始化:
<script src="https://www.gstatic.com/firebasejs/3.5.3/firebase.js"></script>
<script>
// Initialize Firebase
var config = {/*....*/};
firebase.initializeApp(config);
</script>
無論Firebase documentation都缺失不工作:
removePlayer1(id: any): Promise<Response> {
return firebase.database().ref("players").child(id).once('value')
.then((snap: any) => {
console.log("Player was removed", id, snap);
snap.remove();
}).catch((err: any) => this.handleError(err));
}
removePlayer2(id: any): Promise<Response> {
return firebase.database().ref().child('players')
.child(id).remove().then((r: any) => {
console.log("Player was removed", id);
}).catch((err: any) => this.handleError(err));
}
This solution仍然不能正常工作:
removePlayer(id: any): Promise<Response> {
var updates = {};
updates[id] = null;
return firebase.database().ref("players").update(updates)
.then((r: any) => {
console.log("Player was removed", id, r);
}).catch((err: any) => this.handleError(err));
}
同時更新和插入子值完美的作品:
savePlayer(player: IPlayer): Promise<Response> {
let playerRef: any;
if (!player._id) {
playerRef = firebase.database().ref().child('players').push().set(player);
} else {
var updates = {};
updates[player._id] = player;
playerRef = firebase.database().ref().child('players').update(updates);
}
return playerRef.catch((err: any) => this.handleError(err));
}
謝謝!