gpt4 book ai didi

javascript - 在firebase中同时更新多个用户

转载 作者:行者123 更新时间:2023-12-03 04:43:52 24 4
gpt4 key购买 nike

我的 Firebase 2.x 数据库中有一个与此类似的对象:

{
"users": {
"$id": {
"date_of_birth": "June 23, 1912",
"full_name": "Alan Turing",
"group": "users",
"nickname": "Alan The Machine"
}
}
}

并寻找同时更新多个用户的最佳方式。例如,我想将“用户”组的所有用户更改为“版主”组或类似组。

我该怎么做?

最佳答案

有几种方法可以解决这个问题,您在评论中提到了一种方法。

1) 查询 group = users 的所有用户。迭代每个组并将每个组中的组更新为 group = moderators

2)添加一些结构

users
uid_0
"date_of_birth": "June 23, 1912",
"full_name": "Alan Turing",
"group": "-UY89j99j9jasd",
"nickname": "Alan The Machine"
uid_1
"date_of_birth": "June 23, 1912",
"full_name": "Alan Turing",
"group": "-Y888jasjdjaos",
"nickname": "Alan The Machine"
uid_2
"date_of_birth": "June 23, 1912",
"full_name": "Alan Turing",
"group": "-UY89j99j9jasd",
"nickname": "Alan The Machine"

和组

-UY89j99j9jasd
group_name: "users"
-Y888jasjdjaos
group_name: "dudes"

然后要将所有当前的“用户”用户转变为版主,请将 group_name 更改为“版主”。这也很好,因为如果您决定不喜欢“版主”这个词,而是想称他们为“pwn 的人”,您只需进行一次更改即可做到这一点。

-UY89j99j9jasd
group_name: "moderators" //or 'people who pwn'
-Y888jasjdjaos
group_name: "dudes"

3) 翻转逻辑并将用户存储在主持人或用户节点中。

users
uid_0
"date_of_birth": "June 23, 1912",
"full_name": "Alan Turing",
"nickname": "Alan The Machine"
uid_1
"date_of_birth": "June 23, 1912",
"full_name": "Alan Turing",
"nickname": "Alan The Machine"
uid_2
"date_of_birth": "June 23, 1912",
"full_name": "Alan Turing",
"nickname": "Alan The Machine"

和组

-U8asdjoasjds
group_name: "moderators"
members:
uid_0: true
uid_2: true
-Yuiis9isisis
group_name: "users"
members
uid_1: true

现在您可以轻松获取用户/成员组中的所有子级并将他们添加到版主组中,您还可以更改组的名称。

4)不推荐的方式

administrators
uid_0: true
uid_2: true
users
uid_1: true

这与 #3 类似,但 key 标识组类型。与 3 相同,获取用户的子级并将其写入管理员。通常最好的做法是取消键名与其包含的数据的关联,但在这种情况下可能没问题。

关于javascript - 在firebase中同时更新多个用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42955943/

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