代码之家  ›  专栏  ›  技术社区  ›  Zack Shapiro

为什么firestore有时不返回任何内容,没有错误,没有任何内容?

  •  9
  • Zack Shapiro  · 技术社区  · 7 年前

    我正在做一个简单的查询,而firestore周期性地不返回任何内容。没有错误,没有结果,什么都没有。

    Firestore.firestore().collection("groupChats")
            .order(by: kUpdatedAt, descending: true)
            .whereField("memberIds", arrayContains: currentUserId)
            .limit(to: 15).getDocuments { [weak self] snapshot, error in 
                 // nothing inside here ever hits
            }
    

    我真的不知道如何进行或调试,因为这似乎是在firestore内。用户有Internet连接。拉动刷新并再次调用该查询将返回相同的无操作结果。

    你知道这是怎么回事吗?谢谢!

    0 回复  |  直到 7 年前
        1
  •  1
  •   Zack Shapiro    7 年前

    最后的问题是缓存在默认情况下是打开的,我在设备上有一个从开发和迁移的大量缓存。关闭脱机缓存作为 Firestore() 初始化大大帮助了这一点,并使我的应用程序再次可用。

        2
  •  0
  •   Faiz Fareed    7 年前

    你应该使用以下代码

    Firestore.firestore().collection("groupChats")
            .order(by: kUpdatedAt, descending: true)
            .whereField("memberIds", arrayContains: currentUserId)
            .limit(to: 15).getDocuments { (snapshot, error) in 
    if error != nil{
                print("Error getting documents: \(error)")
            } else {
                for document in (snapshot?.documents)! {
                    print("\(document.documentID) => \(document.data())")
                }
            }