使用Firestore,是否可以将脱机持久性配置为在特定文档中设置“关闭”?

时间:2018-09-27 21:11:04

标签: android firebase kotlin google-cloud-firestore

我需要在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还是可以的?预先感谢。

2 个答案:

答案 0 :(得分:1)

在执行任何其他操作之前,只能为整个Firestore客户端启用磁盘持久性。不能为特定的集合,查询或文档启用/禁用它。

答案 1 :(得分:1)

脱机持久性工作方式是通过同步脱机时写入的每个文档的 current 状态。它不会同步所有写入的整个历史记录。写入的历史无关紧要-重要的只是文档中的当前值。因此,启用持久性并不像您期望的那样昂贵。

正如弗兰克所说,您不能选择性地选择仅同步某些文档。它完全关闭或打开。就个人而言,我认为您没有令人信服的理由来禁用它。