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

how to delete particular record based on firebase json key

显示数据的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>

获取时 Posts:

 onFetchPosts() {
    this.isLoading = true;

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

Json 键作为参数

删除时 Post:

  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 
        );    
    }

当您针对 'https://ng-complete-guide-257c0.firebaseio.com/posts.json 发出 HTTP DELETE 请求时,数据库将删除整个 posts 节点。如果您想删除特定的 post,您需要针对 'https://ng-complete-guide-257c0.firebaseio.com/posts/yourpostkey.json.

发出删除请求

如果您不知道要删除的 post 的键,您必须先执行查询以确定该键。