使用监听器的Firebase与完整查询

时间:2019-10-27 06:11:33

标签: google-cloud-firestore

我想在我的应用打开时显示客户列表(按名称排序,仅显示前10个)。与Firestore结合使用时,以下哪种方法有效?

方法1:应用加载查询前10位客户时。 这将被Firestore视为10个文档读取。是吗?

QuerySnapshot querySnapshot = await fireStore
          .collection('customers')
          .orderBy('fname')
          .limit(documentLimit)
          .getDocuments();

方法2:设置侦听器

QuerySnapshot querySnapshot = await fireStore
          .collection('customers')
          .orderBy('fname')
          .limit(documentLimit)
          .snapshots()
          .listen(someListener)  
  • 现在如果使用Firestore,上述模式在读取次数方面是否有效?
  • firestore是否在应用程序运行之间在客户端缓存文档?

1 个答案:

答案 0 :(得分:0)

  1. 两个示例均显示10个初始文档读取。在Firestore中,服务器不会满足任何查询的“低效率”要求。您现在显示的内容有所不同,因为第一个将查询一次,而第二个将随着结果的变化而不断接收结果,而每个新文档都要花费另一次阅读。使用满足您需求的选项。如果您不需要实时更新,则无需添加侦听器。也许this video会帮助您确定您真正需要的。

  2. 是的,适用于Android,iOS和Web应用程序。 Read the documentation