我需要在Firestore中的某个文档中设置持久性;但所有其他文档都应使用默认配置like this实现。我已经实现了代码;但再次调用firestoreSettings
会导致以下错误:
java.lang.IllegalStateException:FirebaseFirestore已经 已启动,其设置无法再更改。你只能打电话 setFirestoreSettings(),然后再调用 FirebaseFirestore对象。 在com.google.firebase.firestore.FirebaseFirestore.setFirestoreSettings(com.google.firebase:firebase-firestore @@ 17.0.5:140)
如何为特定文档设置setPersistenceEnabled=false
还是可以的?预先感谢。
答案 0 :(得分:1)
在执行任何其他操作之前,只能为整个Firestore客户端启用磁盘持久性。不能为特定的集合,查询或文档启用/禁用它。
答案 1 :(得分:1)
脱机持久性工作方式是通过同步脱机时写入的每个文档的 current 状态。它不会同步所有写入的整个历史记录。写入的历史无关紧要-重要的只是文档中的当前值。因此,启用持久性并不像您期望的那样昂贵。
正如弗兰克所说,您不能选择性地选择仅同步某些文档。它完全关闭或打开。就个人而言,我认为您没有令人信服的理由来禁用它。