【问题标题】:How do we limit number of number of snapshots that we get from Firebase?我们如何限制从 Firebase 获得的快照数量?
【发布时间】:2018-08-16 16:52:32
【问题描述】:

我正在开发一个 Flutter 消息传递应用程序,我在其中使用 Friebase 作为数据库。每次加载消息时,它都会一次加载所有消息。我希望它一次只加载 x 个数据。我尝试使用限制,但没有帮助。

body: new Column(children: <Widget>[
      new StreamBuilder<QuerySnapshot>(
        stream: Firestore.instance
            .collection('messages')
            .where("threadId", isEqualTo: thread.id)
            .limit(10)
            .snapshots,

【问题讨论】:

  • 上面的代码给了你什么?尝试做where("threadId", isEqualTo: thread.id).orderBy("threadId") .limit(10)
  • @PeterHaddad 我有同样的问题.limit(1).snapshots().listen((event) {... 在添加新文档/删除现有文档后没有工作并且没有调用listen。请分享您的建议。谢谢。

标签: firebase flutter google-cloud-firestore


【解决方案1】:

我用过.limit(number),效果很好。 也许你应该检查你的 where 条件。 对了,你.snapshots的语法不对,一定是.snapshots()

【讨论】:

  • Quang Duy Tran - 很好,我有同样的问题.limit(1).snapshots().listen((event) {... 在添加新文档/删除现有文档后没有工作并且没有调用listen。请分享您的建议。谢谢。
  • 感谢@Quang Duy Tran - 我们正在谈论snapshots().listen((event) {.. 侦听器,但我没有得到在您建议的脚本中处理snapshots's listener 的任何代码。我们还有其他建议吗?请帮忙。再次感谢。
【解决方案2】:

也许在流中使用take(int count)

请看这里:https://www.dartlang.org/tutorials/language/streams

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 2017-03-05
    • 2020-12-23
    • 2017-09-22
    • 2018-11-05
    相关资源
    最近更新 更多