繁体   English   中英

从 Firebase 数据库节点读取一些数据(不是全部)

[英]Reading some of data (not all) from a Firebase database node

我正在处理需要以这种方式读取 firebase 节点的项目:

假设我在 firebase 实时数据库中有一个节点messages 在那个节点中,我有20, 000条消息。 当用户在消息框中输入时,我需要显示消息。 但是一次阅读所有20, 000条消息太耗时了。

我想要的是,一次阅读30-40条消息并将其显示给用户。 当用户按下more message按钮时,我将阅读另外30-40条消息并将它们显示给用户。 等等......它会更快更方便。

但我找不到任何方法让事情像这样工作。 我尝试使用ValueEventListener() ,但它会读取该messages节点中的所有数据,而且非常耗时。 我也尝试了reference.limitToFirst(30)但它读取了前 30 条消息,那我该怎么办? 我如何阅读接下来的 30 条消息?

我可以清楚地提出我的问题吗? :( 提前致谢。

但是一次阅读所有 20,000 条消息太耗时了。

20,000 条消息可以认为是大量数据。 所以我强烈建议不要在一个 go 中加载这么多的数据。

我想要的是,一次阅读 30-40 条消息并将这些消息显示给用户。 当用户按下更多消息按钮时,我将阅读另外 30-40 条消息并将它们显示给用户。 等等......它会更快更方便。

您要查找的内容称为分页。 这意味着您需要以更小的块逐步加载数据。 您需要一个接一个地加载一组 30-40 条消息。 这个之前已经讲过很多次了,这个问题对于实时数据库已经有很多解决方案了:

我也尝试了 reference.limitToFirst(30) 但它读取了前 30 条消息,那我该怎么办? 如何阅读接下来的 30 条消息?

我建议您查看其中的一些问题并尝试一下。 如果您很难实现它,请向我们展示您尝试过的MCVE ,这样,我和其他 Firebase 开发人员可以帮助您。

但是,如果您考虑在某个时间点尝试使用Cloud Firestore ,我认为这个答案会有所帮助:

如果您想进一步了解 go 并尝试使用 Jetpack Compose,那么我认为此资源将有所帮助:

如何使用 Jetpack Compose 在 Firestore 中实现分页?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM