gpt4 book ai didi

javascript - Firebase 获取特定键的所有值

转载 作者:行者123 更新时间:2023-11-29 23:58:25 25 4
gpt4 key购买 nike

我在 Firebase 上有一个 users table,每个用户都有一个 email 属性。

结构如下:

Users -> User UID(看起来像 n8haBbjgablobA2ranfuabu3aaaga2af) -> User Obj 其中包括 电子邮件 prop.

我想获取所有用户电子邮件的数组 (~1m)。

我怎样才能最有效地做到这一点?

附言:

我试过:

usersRef.startAt(0).endAt(20).once("value", function(snapshot) {
console.log('FIRST 20');
console.log(snapshot.val()); // null
});

但是失败了。

最佳答案

就数据读取而言,最有效的方法可能是对数据进行非规范化。您可以将电子邮件地址存储在各个用户节点和 emailAddresses 节点中。然后您可以直接查询 emailAddresses 节点以获取您的电子邮件列表。

仍然约有 100 万个电子邮件地址节点一次可能太多了。我可能会成 block 地捕获它……我猜。

更新

“分块抓取”本质上是分页。在尝试推出我自己的分页解决方案之前,我会尝试使用现成的东西。

要 checkout 的分页库:

  • Firebase Utils Pagination :这是由 Firebase 开发的,但他们说它是实验性的,还没有准备好用于生产。但是,它可能仍然值得一试。
  • firebase-paginator :这是由社区成员开发的,看起来非常可靠。

如果您想滚动自己的分页,请查看:

  • @kato 在 this StackOverflow answer 中的回复他就实时数据集分页的潜在问题提出了一个有趣的观点,但随后提供了一些很好的入门代码
  • Here's a good blog entry谈到我认为是我上面链接的 firebase-paginator 库的一部分的代码

关于javascript - Firebase 获取特定键的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41173542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com