Как я могу получить идентификатор документа в Firebase? - PullRequest
0 голосов
/ 08 мая 2020

Мне нужен DocumentID на фотографиях. Как я могу получить этот документ или идентификатор коллекции? Я не мог найти, как реализовать путь к поддеревьям. Я хочу получить идентификатор документа или коллекции и использовать его в getUserInfo ().

Мне нужны эти идентификаторы

let fireStoreDatabase = Firestore.firestore()


override func viewDidLoad() {
    super.viewDidLoad()
    getUserInfo()

}


@IBAction func createClicked(_ sender: Any) {

    let documentData = ["email":UserSingleton.sharedUserInfo.email,"username":UserSingleton.sharedUserInfo.username,"Housename":UserSingleton.sharedUserInfo.housename] as [String:Any]

    fireStoreDatabase.collection("Phome").document().collection("Users").addDocument(data: documentData) { (error) in
        if error != nil {
            //
        }


    }

}
func getUserInfo(){
fireStoreDatabase.collection("UserInfo").whereField("email", isEqualTo: Auth.auth().currentUser!.email!).getDocuments { (snapshot, error) in
    if error != nil {
        self.makeAlert(title: "error", message: error?.localizedDescription ?? "Error")
    }else{
        if snapshot?.isEmpty == false && snapshot != nil{
            for document in snapshot!.documents{
              if let username =  document.get("username") as? String{
                UserSingleton.sharedUserInfo.email = Auth.auth().currentUser!.email!
                UserSingleton.sharedUserInfo.username = username
            //  UserSingleton.sharedUserInfo.housename = THIS WILL BE HOUSENAME

                }
            }
        }
    }
}

}

это класс singleton:

class UserSingleton{

static let sharedUserInfo = UserSingleton()

var email = ""
var username = ""
var housename = ""




private init(){

}
}

1 Ответ

1 голос
/ 08 мая 2020

вам просто нужно вызвать .documentID для объекта документа

for document in snapshot!.documents{
       let documentID = document.documentID       
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...