首页 > 解决方案 > 使用 Firebase 实时数据库批量创建/删除

问题描述

我像这样使用 Firebase 实时数据库:

 createSoldLead(soldLead: SoldLeadModel): void {
    const soldLeadsReference = this.angularFireDatabase.list<SoldLeadModel>(
      `groups/${this.groupId}/soldLeads`
    );

    const leadsReference = this.angularFireDatabase
        .list<SoldLeadModel>(
      `groups/${this.groupId}/leads`
    );

    soldLeadsReference.set(soldLead.id.toString(),soldLead);

    leadsReference.remove(soldLead.id.toString());
  }

这工作正常。但是我怎样才能做到这一点作为批量创建/删除呢?即确保他们都成功

我看到了这个博客。但不知道如何将它应用于我的用例?

标签: angulartypescriptfirebasefirebase-realtime-databaseangularfire

解决方案


您可以使用单个多路径更新在不同路径写入多个节点。

相当于你的两个电话将是这样的:

let updates = {};
updates[`groups/${this.groupId}/soldLeads/${soldLead.id}`] = soldLead;
updates[`groups/${this.groupId}/leads/${soldLead.id}`] = null;

firebase.database().ref().update(updates);

将节点值设置为null删除该节点。


推荐阅读