Я перехожу с реляционной базы данных на NO SQL, и я уже прочитал всю документацию Firebase, и теперь я приступаю к учебному проекту, чтобы узнать больше об этом.
Я пытаюсь сделать следующее: у меня есть user_profile , где каждый пользователь, созданный с помощью Auth , получит один документ.
Внутри этого документа у меня есть массив с именем groups , который показывает все группы, к которым присоединился этот пользователь.
Мне нужно получить список этих групп в соответствии с зарегистрированным пользователем дюймы
Затем я использую getDocuments () для получения этой информации из БД.
Мне нужно получить массив строк с group_id (в секунду pi c).
Мой текущий код извлекает нужную мне информацию, но получает все идентификаторы как один объект. Так что, если у меня есть 4 группы, он извлечет 4 объекта, содержащие все 4 группы, к которым присоединился пользователь.
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
}
И результат, который я получаю, показан ниже:
идентификатор группы: ["8m0W7cQLuSjQCJes2fpL", "l84GnZSpIUs43cXO13Qm", "unb0LPYOttDN6Wgxhghghghgt") ID: [ "8m0W7cQLuSjQCJes2fpL", "l84GnZSpIUs43cXO13Qm", "unb0LPYOttDN6WogRXDt", "ohG09dwyVrAd6GcXa6mx"] Идентификатор группы: [ "8m0W7cQLuSjQCJes2fpL", "l84GnZSpIUs43cXO13Qm", "unb0LPYOttDN6WogRXDt", "ohG09dwyVrAd6GcXa6mx"] Идентификатор группы: [ "8m0W7cQLuSjQCJes2fpL", "l84GnZSpIUs43cXO13Qm" , "unb0LPYOttDN6WogRXDt", "ohG09dwyVrAd6GcXa6mx"]
Я пробовал так много разных подходов, чтобы попытаться получить правильные данные, но не работает.
Еще раз, я просто хочу получить этот массив в качестве результата: var groups = ["8m0W7cQLuSjQCJes2fpL", "l84GnZSpIUs43cXO13Qm", "unb0LPYOttDN6WogRXDt", "ohG09dwyXa404x4406") «Amato