Я думаю, что понимаю, поэтому позвольте мне попробовать ответить на примере.То, как мы получаем идентификаторы, которые мы хотим записать, не указано в этом вопросе, поэтому давайте попробуем это:
Предположим, у нас есть узел пользователей, в котором хранятся наши пользователи, и если им нравится пицца
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), а затем (в зависимости от вопроса) добавить их к ребенку в базе данных, а затем добавить к ним дополнительные данные
, а затем хотят принятьэти UID и добавить их к ребенку в моей базе данных, а затем добавить к ним дополнительные данные
результат будет
pizza_lovers
uid_0
their_name: "Richie"
uid_2
their_name: "Fonzi"
Дайте мне знать, если я неправильно понял вопрос, и я будуобновить.