如何根据firebase的json键删除特定记录?

问题描述 投票:0回答:1

显示数据的HtmlCode。键作为参数传递

<div class="col-xs-12 col-md-6 col-md-offset-3" *ngIf="loadedPosts.length >= 1>
  <ul class="list-group">
    <li class="list-group-item" *ngFor="let post of loadedPosts">
      <h3>Title: {{ post.title}}</h3>
      <span>Content: {{ post.content}}</span>
      <p> <a (click)="onDeletePost(post.id)" style="cursor: pointer;">Delete</a></p>
    </li>
  </ul>
</div>

关于取帖。

 onFetchPosts() {
    this.isLoading = true;

    this.postService.fetchPosts().subscribe(
        (posts)=>{
        this.isLoading = false;
        this.loadedPosts = posts;
        },(error)=>{
          this.error = error.error;
        }
    );
  }

作为参数的Json键

删除帖子时。

  onDeletePost(key:string) {
    if(confirm('Are you sure?')){
        this.postService.deletePost(key).subscribe(
          (responseData)=>{
            console.log(responseData);
            this.onFetchPosts();  
          }
        );
      }
  }

    deletePost(key:string) {
        return this.http.delete<void>(
            'https://ng-complete-guide-257c0.firebaseio.com/posts.json',{
                params: new HttpParams().set('name', key)
            }// even passing parameter it clears all record instead of particular record 
        );    
    }
angular firebase firebase-realtime-database angular-http
1个回答
0
投票

当你发射一个HTTP DELETE 请求 'https://ng-complete-guide-257c0.firebaseio.com/posts.json数据库将删除整个 posts 节点。如果你想删除一个特定的帖子,你需要向 'https://ng-complete-guide-257c0.firebaseio.com/posts/yourpostkey.json.

如果你不知道要删除的帖子的键,你首先要执行一个查询来确定该键。

© www.soinside.com 2019 - 2024. All rights reserved.