firestore wherefield 结果是 <FIRQuery> in swift

firestore wherefield result is <FIRQuery> in swift

我的代码在这里和结果

  func documentField(){
        guard let uid = Auth.auth().currentUser?.uid else {
            return
        }
        print(uid)
        let db = Firestore.firestore().collection("collection")
        let data = db.orderby(by: "users").whereField("users", arraycontains: uid)
        print(data)
}
console outline

MNDJR2NOx1gOcxPGJ2xOUw3PHCM2
<FIRQuery: 0x6000032555e0>

我不知道我错在哪里这个查询结果每次都comig <FIRQuery: 0x6000032555e0>

您的代码创建一个查询,但不执行它。所以这意味着您正在打印查询本身,而不是它的结果。

如果您查看 getting documents from the database 上的文档,您会发现此 Swift 如何执行此操作的示例:

db.collection("cities").whereField("capital", isEqualTo: true)
    .getDocuments() { (querySnapshot, err) in
        if let err = err {
            print("Error getting documents: \(err)")
        } else {
            for document in querySnapshot!.documents {
                print("\(document.documentID) => \(document.data())")
            }
        }
}

您将要以相同的方式对您的查询调用 getDocuments() 并处理您获得的结果。