如何在不从参考节点获取所有数据的情况下获取 Firebase 数据库中的随机键?

How to get random keys in Firebase Database without fetching all data from a reference node?

我正在尝试从我的 Firebase 数据库中获取随机密钥,这是一组问题,但到目前为止我发现的所有解决方案都建议先获取所有数据,然后获取大小并从该数据中选择随机密钥。考虑到数据集可能会变大,我想知道是否可以做到这一点而不必获取所有数据。

我想将密钥保存到另一个节点并仅获取该节点,然后使用这些选定的密钥,我只能得到我需要的问题,从而减少不必要的数据,但这是否有意义?

如果你想从一个大节点获取数据的一个子集到你的应用程序中,而你不能通过使用查询来切分数据来实现,通常将数据的子集复制到它自己独立的节点。

一个例子(不幸的是你的问题仍然很笼统):如果你有一个用户配置文件列表(比如 /users),但只是想在你的应用程序中显示一个用户名列表,检索完整的用户配置文件是一种浪费。在这种情况下,通常只使用用户名和 UID(比如 /usernames)创建一个节点。

您通常会从受信任的环境(例如您的开发机器、您控制的服务器或 Cloud Functions)创建派生列表 使用安全规则确保派生列表中的数据与主列表保持同步。