【发布时间】:2020-10-11 02:52:55
【问题描述】:
我目前正在尝试将 firebase 集成到我的 ios 应用程序中。我正在开发的功能之一是在每个用户注册时在 Cloud Firestore 中建立数据。当他们在我的应用程序中单击“注册”时,它会使用 Firebase 授权创建一个新用户,并且我在我的数据库中的“用户”集合中创建一个用户文档。但是当我创建将存储他们的“朋友”的用户时,我还想为每个用户添加一个子集合。这是按下注册按钮时创建用户文档的代码。我利用函数返回功能来获取对我刚刚创建的文档的引用。然后,我想在创建文档后使用该引用来创建子集合,即在调用完成处理程序时。但是“usersDocRef”在完成处理程序显然被调用之后才被赋予一个值。所以我不能在那里做。如何在完成处理程序中访问对文档的引用,或者在创建文档后使用该引用添加子集合?我试图避免查询以检索参考或任何更多的读取操作以提高效率(因为这与火力基地的计费成本呈线性关系)。任何帮助将不胜感激
let userDocRef = self.db.collection(K.FStore.Collections.usersRootCollection).addDocument(data: [K.FStore.Fields.username : email]) { (error) in
if let error = error {
print("Error registering: \(error)")
} else {
///want to use userDocRef here (obviously can't, workarounds?)
}
}
【问题讨论】:
标签: ios swift firebase google-cloud-firestore