Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在firebase中更新密钥而不是值?_Javascript_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 如何在firebase中更新密钥而不是值?

Javascript 如何在firebase中更新密钥而不是值?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我有这样一个用户名集合: 这使得在我注册用户时,如果用户名可用或不可用,那么就更容易引用用户名。我将用户名设置为用户的uid,这样我可以引用哪个用户名属于谁 我创建它的方式是: firebase.database().ref('usernames').child(username).set(user.uid) 现在,我试图更新用户的用户名,但保持uid不变,因此唯一需要更改的是用户的用户名,而不是其他。我用update()尝试了一些不同的方法,但似乎无法正确使用它。您无法在实时数据库中更新密钥

我有这样一个用户名集合:

这使得在我注册用户时,如果用户名可用或不可用,那么就更容易引用用户名。我将用户名设置为用户的
uid
,这样我可以引用哪个用户名属于谁

我创建它的方式是:

firebase.database().ref('usernames').child(username).set(user.uid)


现在,我试图更新用户的用户名,但保持uid不变,因此唯一需要更改的是用户的用户名,而不是其他。我用
update()
尝试了一些不同的方法,但似乎无法正确使用它。

您无法在实时数据库中更新密钥。最好的方法是删除键和值,然后用所需的键替换旧键重新添加值。

您无法更新实时数据库中的键。您所能做的最好的方法是删除密钥和值,然后用您想要的密钥重新添加值以代替旧密钥。

为什么不使用
用户id
而不是
用户名
密码
?这样,您只需修改
用户名
值-其中
用户id
是XY为什么不使用
用户id
而不是
用户名
密码
?这样,您只需修改
用户名
值-其中
用户id
是XY@TaylorAustin请接受正确的答案(除非你找到了更新密钥的方法)。很抱歉,这让我因为某些原因等了8分钟啊,是的,打击自动滥用有一定的费率限制。@TaylorAustin请接受正确的答案(除非您找到了更新密钥的方法)。很抱歉,出于某种原因,我等了8分钟。啊,是的,打击自动滥用有一定的费率限制。