Я думал об этом, но подумал, что отправлю вопрос, чтобы получить больше мыслительной силы или посмотреть, возможно ли это вообще. Я беру несколько uid, а затем хочу взять эти uid и добавить их к дочернему элементу в моей базе данных, а затем добавить к ним дополнительные данные. Поскольку они являются uid, я не могу получить к ним доступ по отдельности, что было бы простым вызовом firebase "update values", так как я могу взять этот список uid, а затем добавить их в дочерний элемент, чтобы они были их собственными отдельными дочерними элементами, а затем добавить значения им? Я просто думаю о том, как бы настроить этот вызов firebase так, чтобы он говорил: «Добавить каждый из этих uid в качестве собственного дочернего элемента».
Как я получаю uid
func getEmployees() {
let employees = Database.database().reference().child("Businesses").child(self.otherUser?["uid"] as! String).child("registered_employees").observe(.childAdded, with: { (snapshot) in
if snapshot.exists() {
let employess = snapshot.childSnapshot(forPath: "uid")
print(employess)
} else {
print("didnt call right values")
}
})
}
образец данных, которые я бы добавил в uid child
let userMessageRef = Database.database().reference().child("user-messages").child(fromID).child(toID)
let messageId = childRef.key
userMessageRef.updateChildValues([messageId!:1])
Код прямо выше ^^^^ Я бы хотел, чтобы uid был в "toID", а затем добавлял "messageId" к этим uid
Я не знаю, как я мог бы даже использовать каждый uid отдельно в вызове из-за невозможности извлечь каждый, а затем установить данные.





Думаю, я понимаю, поэтому позвольте мне попробовать ответить на примере. Как мы получаем uid, которые хотим написать, в вопросе не указано, поэтому давайте попробуем следующее:
Предположим, у нас есть узел пользователей, в котором хранятся наши пользователи, и если им нравится пицца
users
uid_0 //the Firebase generated uid
name: "Richie"
likes_pizza: true
uid_1
name: "Marion"
likes_pizza: false
uid_2
name: "Fonzi"
likes_pizza: true
uid_3
name: "Howard"
likes_pizza: false
что мы хотим сделать, чтобы пользователи, которые любят пиццу, создали новый узел и сохранили каждый из uid в качестве родительского, а затем дочернего по своему имени.
let usersRef = self.ref.child("users")
let pizzaQueryRef = usersRef.queryOrdered(byChild: "likes_pizza").queryEqual(toValue: true)
pizzaQueryRef.observeSingleEvent(of: .value, with: { snapshot in
guard let allUsers = snapshot.children.allObjects as? [DataSnapshot] else {return}
for user in allUsers {
let key = user.key
let name = user.childSnapshot(forPath: "name").value as! String
let pizzaRef = self.ref.child("pizza_lovers")
let aPizzaLoverRefUid = pizzaRef.child(key).child("their_name")
aPizzaLoverRefUid.setValue(name)
}
})
поэтому этот код запрашивает всех пользователей, которым нравится пицца (что позволяет нам получить доступ к их uid), а затем (по вопросу) добавляет их к дочернему элементу в базе данных, а затем добавляет к ним дополнительные данные
and then want to take these uid's and append them to a child in my database and then add further data to them
результат
pizza_lovers
uid_0
their_name: "Richie"
uid_2
their_name: "Fonzi"
Сообщите мне, если я неправильно понял вопрос, и я обновлю его.