Ios 函数的作用是多次获取相同的数据
我正在从关系数据库迁移到NOSQL,我已经阅读了整个Firebase文档,现在我正在着手一个研究项目来了解更多有关它的信息 我试图做的是:我有一个用户配置文件,其中由Auth创建的每个用户将获得一个文档 在这个文档中,我有一个名为groups的数组,它显示了这个用户加入的所有组 我需要根据登录的用户检索此组的列表 然后我使用getDocuments从数据库中检索这些信息 我需要得到的是一个字符串数组,该字符串的组id为每秒pic my current代码正在检索我需要的信息,但它将所有ID作为一个对象获取。因此,如果我有4个组,它将检索4个对象,其中包含用户加入的所有4个组Ios 函数的作用是多次获取相同的数据,ios,swift,firebase,google-cloud-firestore,Ios,Swift,Firebase,Google Cloud Firestore,我正在从关系数据库迁移到NOSQL,我已经阅读了整个Firebase文档,现在我正在着手一个研究项目来了解更多有关它的信息 我试图做的是:我有一个用户配置文件,其中由Auth创建的每个用户将获得一个文档 在这个文档中,我有一个名为groups的数组,它显示了这个用户加入的所有组 我需要根据登录的用户检索此组的列表 然后我使用getDocuments从数据库中检索这些信息 我需要得到的是一个字符串数组,该字符串的组id为每秒pic my current代码正在检索我需要的信息,但它将所有ID作为一
func getGroups() -> [String] {
let currentUser = Auth.auth().currentUser?.uid
let db = Firestore.firestore()
var groups = [""]
var groupsArray = [""]
db.collection(K.Collections.userProfile)
.whereField(K.DBFields.UserProfile.userId, isEqualTo: currentUser!)
.getDocuments { (snapshot, error) in
if let error = error {
print(error)
} else {
for document in snapshot!.documents {
groups = (document.get("groups")) as! [String]
//groupsArray.append(groups)
print("Group ID: \(groups)")
}
}
}
return groups
}
我得到的结果如下:
组ID:[8m0W7cQLuSjQCJes2fpL,l84GnZSpIUs43cXO13Qm,unb0LPYOttDN6WogRXDt,ohG09dwyVrAd6GcXa6mx]
组ID:[8m0W7cQLuSjQCJes2fpL,l84GnZSpIUs43cXO13Qm,unb0LPYOttDN6WogRXDt,ohG09dwyVrAd6GcXa6mx]
组ID:[8m0W7cQLuSjQCJes2fpL,l84GnZSpIUs43cXO13Qm,unb0LPYOttDN6WogRXDt,ohG09dwyVrAd6GcXa6mx]
组ID:[8m0W7cQLuSjQCJes2fpL,l84GnZSpIUs43cXO13Qm,unb0LPYOttDN6WogRXDt,ohG09dwyVrAd6GcXa6mx]
我尝试了很多不同的方法来获取正确的数据,但都没有成功
再一次,我只想得到这个数组作为结果:
变量组=[
8m0W7cQLuSjQCJes2fpL,
l84GnZSpIUs43cXO13Qm,
unb0LPYOttDN6WogRXDt,
ohG09dwyVrAd6GcXa6mx]
非常感谢
莱昂纳多·达马托(Leonardo D'Amato)我不太了解Swift,但在node中,当我尝试使用替代地图时,出现了不同的结果,您应该使用以下内容: 让dataDescription=snapshot.data.mapString.InitDescripting:??零 printDocument数据:dataDescription
您正在以[String]字符串数组的形式从组中检索值。但随后将该字符串数组打印为单个值 如果要访问Swift中[String]的各个元素,可以在其上循环:
groups = (document.get("groups")) as! [String]
for group in groups {
print("Group ID \(group).")
}
另请参阅上的Swift文档。您好,弗兰克,谢谢您的回复。我以前尝试过这个,得到的结果是:组ID:8m0W7cQLuSjQCJes2fpL组ID:l84GnZSpIUs43cXO13Qm组ID:Unb0LpyotDN6Wogrxdt组ID:ohG09dwyVrAd6GcXa6mx组ID:8m0W7cQLuSjQCJes2fpL组ID:l84GnZSpIUs43cXO13Qm组ID:Unb0LpyotDN6Wogrxdt组ID:ohG09dwyVrAd6GcXa6mx组ID:8M0W7CQlusJJES2FPL组ID:l84GnZSpIUs43cXO13Qm组ID:unb0LPYOttDN6WogRXDt组ID:ohG09dwyVrAd6GcXa6mx组ID:8m0W7cQLuSjQCJes2fpL组ID:l84GnZSpIUs43cXO13Qm组ID:unb0LPYOttDN6WogRXDt组ID:ohG09dwyVrAd6GcXa6mx假设检索4个结果,但它重复了相同的4个结果和我拥有的字符串数量相同。如果我有5个组字符串,它将检索5次相同的5组字符串