使用$ firebaseArray向Firebase添加新记录时是否存在性能问题?

时间:2017-06-17 23:52:05

标签: angularjs firebase

我从文档中获得了以下有关如何向Firebase添加新记录的AngularJS示例代码。它工作正常,可以成功创建新记录。

虽然我也注意到从回调中我们可以使用list变量获得所有兄弟,这很有趣。

我的问题是,当列表很大时会有任何性能延迟,比如100,000条记录。有人能说清楚这个吗?

var list = $firebaseArray(ref);
list.$add({ foo: "bar" }).then(function(ref) {
  var id = ref.key();
  console.log("added record with id " + id);
  list.$indexFor(id); // returns location in the array
});

1 个答案:

答案 0 :(得分:2)

$firebaseArray将Firebase数据库中的集合同步到您的客户端,以便在Angular视图中轻松显示。您永远不应该同步比用户需要查看的更多数据,并且100,000条记录似乎远远超出了用户应该看到的内容。

如果您只想添加新项目,最好直接使用Firebase JavaScript SDK:

ref.push({ foo: "bar" }).then(function(ref) {
  var id = ref.key();
  console.log("added record with id " + id);
});

由于AngularFire构建于Firebase JavaScript SDK之上,因此它会自动获取此更改。