получение данных из firebase с помощью swiftui

Есть модель, функция для загрузки данных и модель для идентификации данных, также есть модель для получения данных.

Возникает ошибка, нет документа или нет коллекции. При добавлении уже имеющихся коллекции и документа все работает, помогите пожалуйста разобраться, где ошибка. Хочу сделать отзывы, запись работает, а чтение отзывов нет.

Функция для записи данных в firebase:

func setStarts_review(order: Starts_review, completion: @escaping(Result<Starts_review, Error>) -> ()) {
    usersRefStartsReview.document(order.title).collection(order.userID).document(order.id).setData(order.representation) {
        error in if let error = error {
            completion(.failure(error))
        } else {
                    completion(.success(order))
        }
    }
}

Модель для идентификации записываемых данных:

struct Starts_review: Identifiable {
    
    var id: String 
    var userID: String
    var date: Date
    var starts_review: Int
    var review: String
    var title: String
    var city: String
    
    

    
    
    var representation: [String: Any]{

        var repres = [String: Any]()

        repres["starts_review"] = self.starts_review
        repres["review"] = self.review

        repres["userID"] = userID

        repres["date"] = Timestamp(date: date)
        repres["id"] = self.id
        repres["nameStart"] = self.title

        repres["StartCity"] = self.city


        return repres

    }
}   

Модель для получения данных из firebase:

import SwiftUI
import Firebase

class getDataReviewStarts : ObservableObject{
    
    
    @Published var datasReview = [Starts_review]()
 
    
    private var ViewModelNewReg: Starts_review {
        return Starts_review(id: "", userID: AuthService.shared.currentUser!.uid, date: Date(), starts_review: 0, review: "", title: "", city: "")
    }
    
    
    @Published var ViewModelNewRegReview = Starts_review(id: "", userID: AuthService.shared.currentUser!.uid, date: Date(), starts_review: 0, review: "gdgdfghfh", title: "", city: "")
    
    @Published var reviewStarts: Starts_review
    
    init(reviewStarts: Starts_review) {
        self.reviewStarts = reviewStarts

        let db = Firestore.firestore()

        db.collection("Starts_Review").document(ViewModelNewReg.title).collection(ViewModelNewReg.userID).getDocuments { (snap, err) in

            if err != nil{

                print((err?.localizedDescription)!)
                return
            }

            for i in snap!.documents{

                let id = i.documentID
                let titleReview = i.get("nameStart") as! String

                let cityReview = i.get("StartCity") as! String
                let userIDReview = AuthService.shared.currentUser!.uid

                let starts_review_Review = i.get("starts_review") as! Int
                let review_Review = i.get("review") as! String


                self.datasReview.append(Starts_review(id: id, userID: userIDReview, date: Date(), starts_review: starts_review_Review, review: review_Review, title: titleReview, city: cityReview))
            }
        }
    }
}

Пробовал сделать статические данные, они работают, динамика не работает.


Ответы (0 шт):