firebase - 使用 Flutter Firestore 插件时的最佳实践是什么?是否应该避免创建多个实例?
问题描述
- 在读取包含嵌套集合和这些集合中的文档的文档时,如果仅针对父文档,是否也会读取嵌套文档?他们会算作阅读吗?
- 在不同的小部件上有不同的 Firestore 实例来监听/流式传输到相同的文档算作两次读取?是否建议在一个地方创建实例,然后在整个应用程序中使用 Provider?
最有效的方法是这样的......
class DataSource {
static a.Future<FirebaseUser> getFirebaseUser() async {
return FirebaseAuth.instance.currentUser();
}
}
或简单地重复
FirebaseAuth.instance.currentUser();
在需要此信息的每个小部件上?
那个关于 30K 钞票的视频让我害怕做一些基本真的错误的事情。
解决方案
在读取包含嵌套集合和这些集合中的文档的文档时,如果仅针对父文档,是否也会读取嵌套文档?他们会算作阅读吗?
从 Firestore 读取数据很浅。读取文档不会从其子集合中读取。
在不同的小部件上有不同的 Firestore 实例来监听/流式传输到相同的文档算作两次读取?
这取决于你如何实现阅读。通常,建议在您感兴趣的文档上保持打开单个侦听器。因此,您可能需要考虑传递流。
那个关于 30K 钞票的视频让我害怕做一些基本真的错误的事情。
在这种情况下,我建议使用 Firebase 的模拟器套件开始开发。您可以在本地开发您的代码,检查您在该本地项目中的使用情况,而无需为 Firestore 的使用(或任何其他模拟服务,例如 Cloud Functions)收取任何费用。
推荐阅读
- javascript - 自定义 Ionic 幻灯片组件 {Slides} 导入引用仅更新最后创建的幻灯片组件
- python - PYTHON解析位于目录中的多个文件XML并将数据上传到CSV文件中
- git - GitHub 令牌 - 限制访问
- excel - 由于代理设置不正确,Excel 宏不起作用
- python - 在 Visual Studio Code 中调试 python 程序时更改代码
- microsoft-cognitive - CustomVision 项目的“迭代 ID”(用于 MSFlow 操作)?
- android - 如何使 PhoneGap 上的字体大小与桌面和 Web 匹配?
- google-cloud-dataflow - 使用 Dataflow 生成自执行 JAR
- python - 使用 Tweepy 创建多个 Twitter 用户的关注者的字典 - 每页限制大约 5000
- python - 在 travis 上导入 github 存储库