angular - 使用 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());
}
这工作正常。但是我怎样才能做到这一点作为批量创建/删除呢?即确保他们都成功
我看到了这个博客。但不知道如何将它应用于我的用例?
解决方案
您可以使用单个多路径更新在不同路径写入多个节点。
相当于你的两个电话将是这样的:
let updates = {};
updates[`groups/${this.groupId}/soldLeads/${soldLead.id}`] = soldLead;
updates[`groups/${this.groupId}/leads/${soldLead.id}`] = null;
firebase.database().ref().update(updates);
将节点值设置为null
删除该节点。
推荐阅读
- r - 如何增加 heatmap.2() 中颜色范围的最大值
- sql-server - 更新源表中的列后的 SQL Server 合并语句
- java - 如何让android应用程序保持活力
- gooddata - 如何在 gooddata UI 中自定义图表线条的笔触/路径?
- java - 单击提交按钮时,Selenium 显式等待不起作用(页面加载 25 秒)
- regex - 正则表达式中第二个捕获组的一部分
- python - 如何使用 Python 将表单和设置的键值对添加到 MongoDB 中?
- java - location.getlongitude() 和 getlatitude() 仅每 100-300 秒更新一次
- java - 无法从初始 URI 检索初始集群分区 [RedisURI [host='127.0.0.1', port=7001]]
- javascript - Play inline html5 video smoothly by preloading video entirely