gpt4 book ai didi

ios - Swift Firebase - 获取多个 uid,然后将这些 uid 添加到一个 child

转载 作者:行者123 更新时间:2023-11-28 13:57:28 24 4
gpt4 key购买 nike

我一直在考虑这个问题,但我想我应该发布一个问题来获得更多的思考能力,或者看看这是否可能。我正在获取多个 uid,然后想获取这些 uid 并将它们附加到我的数据库中的一个子项,然后向它们添加更多数据。因为它们是 uid,所以我无法单独访问它们,这将是一个简单的 firebase“更新值”调用,所以我如何获取这个 uid 列表,然后将它们添加到一个 child ,这样他们就是他们自己的独立 child ,然后添加值给他们?我只是在考虑如何将此 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 然后设置数据。

最佳答案

我想我明白了,所以让我试着用一个例子来回答。问题中没有概述我们如何获得我们想要写入的 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),然后(根据问题)将他们附加到数据库中的 child ,然后向他们添加更多数据

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"

如果我误解了这个问题,请告诉我,我会更新。

关于ios - Swift Firebase - 获取多个 uid,然后将这些 uid 添加到一个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53784865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com