gpt4 book ai didi

javascript - 如何从firebase列表中删除项目

转载 作者:行者123 更新时间:2023-12-01 16:31:51 25 4
gpt4 key购买 nike

我有 firebase(实时数据库)这样的简单结构:
enter image description here

列出 View 中的所有项目:

<ion-list>
<ion-item *ngFor="let item of arrData; let i = index" (click)="delete(item)">
{{i+1}}. {{item.name}}<small> - {{item.address}}</small>
</ion-item>
</ion-list>

在 Controller 中定义了数据库,因为显示和添加数据正在工作:
arrData = []

constructor(public navCtrl: NavController, private fdb: AngularFireDatabase) {
this.fdb.list("/schools/").valueChanges().subscribe(data =>{
this.arrData = data;
console.log(this.arrData);
})
btnAddClicked(){
this.fdb.list("/schools/").push({name:this.schoolName, address:this.schoolAddress});
}

我想在选择(单击)时删除项目。从文档中我了解到可以使用 .remove(),只需要项目的路径。但为此,我需要获取自动生成的 key 。如何得到它?还是有另一种方法可以删除所选项目?

最佳答案

感谢 this帖子,找到解决方案。也许不是最漂亮的,但有效:

delete(item){
var db = this.fdb.database.ref();
var query = this.fdb.database.ref("schools").orderByKey();
query.once("value")
.then(function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var pkey = childSnapshot.key;
var chval = childSnapshot.val();

//check if remove this child
if(chval.name == item.name && chval.address == item.address){
db.child("schools/"+pkey).remove();
return true;
}

});
});
}

关于javascript - 如何从firebase列表中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49881809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com