Как проверить, не существует ли локально созданного идентификатора в базе данных Firestore, если это так, повторно введите идентификатор и повторите попытку, пока документ не перестанет существовать - PullRequest
0 голосов
/ 26 января 2020

Я пытаюсь создать уникальный идентификатор для документа в базе данных Firestore. Этот идентификатор является идентификатором сеанса, который должен быть уникальным, генерироваться локально и не содержать длинных символов (как автоматически генерируемый). Я пытаюсь написать код, который проверяет, существует ли документ с таким идентификатором. Если он не устанавливает SessionID, если он существует, случайным образом сгенерируйте другой идентификатор и повторите проверку. Это должно продолжаться до тех пор, пока не существует документа с таким идентификатором, а затем сеанс может быть инициализирован. Проблема в том, что я не могу положить это в какое-то время l oop, так как подключение Firebase не может справиться с этим. У кого-нибудь есть предложения или другой способ добиться того же? Заранее спасибо.

func setsessionid () {

        sessionid = randomAlphaNumericString(length: 6)

        let docRef = self.db.collection("strokedata").document(self.sessionid!)

        docRef.getDocument { (document, error) in
            if let document = document, document.exists {


            } else {

                let currentsession = self.sessionid!
                self.sessionID.text = "SESSION ID: \(currentsession)"

                let user = Auth.auth().currentUser
                if let user = user {
                        self.userid = user.uid
                }

                print("Document does not exist")

            }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...