[英]How to use data as key in Firebase?
这是我当前的Firebase数据库配置,我要在其中使用用户名作为键,并使用CurrentUser.ID作为值。
我尝试使用字符串插值,但出现了一些错误。
function updateExistingUserRoot(username) {
const { currentUser } = firebase.auth();
return (dispatch) => {
firebase.database().ref(`/ExistingUser`).push({
`${username}`: currentUser.uid
})
}
}
我了解Firebase每次推送数据时都会生成一个唯一密钥,但我希望保留当前配置。
更新1
我已更改为使用set,但错误仍然存在。
function updateExistingUserRoot(username) {
const { currentUser } = firebase.auth();
firebase.database().ref(`/ExistingUser`).set({
`${username}`: currentUser.uid
});
}
错误:预期的属性分配。
对于所需的配置,您应该使用set
或update
方法来保存或更新数据。
firebase.database().ref(`/ExistingUser`).set({
`${username}`: currentUser.uid
})
这样,您的数据将保存在username
节点中,该节点将与用户的uid
映射。
希望有帮助!
如果要使用特定键创建用户,则应删除push
方法(创建唯一键),并使用类似以下内容的方法:
firebase.database().ref(`/ExistingUser` + userKey).set({
username: value...
});
Firebase中的所有内容都是一个URL。
https://testxxx.firebaseio.com/xxx/ExistingUser
如果要在此位置创建一个键为KEY1的用户作为子级,则可以:
https://testxxx.firebaseio.com/xxx/ExistingUser/KEY1
两位先生给出的答案是正确的,但我不得不稍作调整才能使其生效。
这是代码
firebase.database().ref(`/ExistingUser/${username}`).set({
userID: currentUser.uid
}).then(() => console.log('Set existing user done'))
.catch((error) => console.log(error.message))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.