Firestore 查询快照未正确更新

时间:2021-07-06 17:01:12

标签: android firebase google-cloud-firestore

我有一个带有快照侦听器的消防存储查询,以根据字段数据获取文档的实时更新。

CollectionPath
        .whereEqualTo("IsCompleted", false)
        .limit(10).addSnapshotListener { querySnapshot, firebaseFireStoreException ->
        when {
            querySnapshot.isNotNull() -> {
                val source = if (querySnapshot!!.metadata.isFromCache) "cache" else "server"
                Log.d("Source of data", "Data fetched from $source")
            }

        }

根据查询获取文档并更新用户界面。

打印日志中的文档来源。 日志说服务器来源

调试元数据SnapshotMetadata{hasPendingWrites=false, isFromCache=false}

如果文档的 IsCompleted 标志更改为 true ,则通过快照侦听器获取该文档的实时更新,但 IsCompleted 标志仍然为 false 所以文档仍然保留在用户界面中。

DocumentSnapshot{key=Path, metadata=SnapshotMetadata{hasPendingWrites=false, isFromCache=false}, doc=Document{key=Path, version=SnapshotVersion(seconds=1625592208, nanos=269514000), type=FOUND_DOCUMENT, documentState=SYNCED, value=ObjectValue{internalValue=# com.google.firestore.v1.Value@60b92f55
integer_value: 0
map_value {
  
  fields {
    key: "IsCompleted"
    value {
      integer_value: 0
    }
  }
}

但如果我将任何 IsCompleted true 文档从 firebase 控制台更改为 false,它就会按预期在快照侦听器中更新。

0 个答案:

没有答案