如何检查Firestore数据库中是否不存在本地创建的ID,如果存在,请重新编码ID,然后重试直到不存在文档

时间:2020-01-26 18:52:35

标签: swift google-cloud-firestore

我正在尝试为Firestore数据库中的文档创建唯一标识符。此ID是一个会话ID,必须是唯一的,本地生成的,并且加载的字符不会长(例如自动生成的ID)。我正在尝试编写代码,以检查具有该ID的文档是否已经存在。如果没有,则设置SessionID;如果确实存在,则随机生成另一个ID,然后再次执行检查。该循环应继续进行,直到不存在具有该ID的文档,然后会话即可初始化。问题是我无法将其置于while循环中,因为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")

            }
    }

0 个答案:

没有答案