【发布时间】:2016-02-20 11:39:17
【问题描述】:
目前我正在使用Fireproof 使其基于承诺,这就是我所拥有的:
fbase.child("questions").once("value").then(function(questionsSnapshot) {
return questionsSnapshot.forEach(function(questionSnapshot) {
return console.log(questionSnapshot.val());
});
});
但是questions 是巨大的。 20,000 多条记录。不确定 - 有没有更好的方法?
【问题讨论】:
-
Firebase Javascript 客户端现在支持 Promise:firebase.com/blog/2016-01-21-keeping-our-promises.html。除此之外:处理长列表的最佳方法是避免使用它们。如何做到这一点取决于用例,我怀疑是记录它们。
-
@FrankvanPuffelen 我明白了,但是您将如何向所有用户发送电子邮件营销活动?我计划保留 /notices/{auth.uid} 并需要在计划的作业中进行迭代。 child_added 会有效地处理它,但“值”会效率低下[1],因为它将项目存储在内存缓存中。 [1] 全部内容已同步firebase.google.com/docs/reference/js/…
-
@FrankvanPuffelen 我猜唯一真正的答案是使用提供 nextPageToken 或某种类型的延续令牌的存储引擎。那么问题是如何将firebase数据与所述存储引擎同步。
-
@LeblancMeneses Firebase 支持带有
orderByKey().startAt(key)或orderByChild("prop").startAt("value", key)的锚项目。
标签: javascript firebase