[英]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,那么我认为此资源将有所帮助:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.