如何通过Javascript更新Firebase元素?
我正在编写一个小应用程序,其中你有一个评分系统(比如每个用户10分),我通过Firebase数据库完成这项工作 我的问题是,我不知道如何更新我一开始创建的数据库元素。我想通过Javascript脚本更新我的观点,该脚本可以被触发 这是我目前的代码:如何通过Javascript更新Firebase元素?,javascript,html,firebase,firebase-realtime-database,Javascript,Html,Firebase,Firebase Realtime Database,我正在编写一个小应用程序,其中你有一个评分系统(比如每个用户10分),我通过Firebase数据库完成这项工作 我的问题是,我不知道如何更新我一开始创建的数据库元素。我想通过Javascript脚本更新我的观点,该脚本可以被触发 这是我目前的代码: var rootRef = firebase.database().ref(); var users=rootRef.child(“用户”) var log=document.getElementById('log') 提前谢谢 我想你是在问,只有
var rootRef = firebase.database().ref();
var users=rootRef.child(“用户”)
var log=document.getElementById('log')
提前谢谢 我想你是在问,只有当用户不存在时,如何更新firebase中的用户记录?假设firebase 3.x.x:
var usersRef = firebase.database().ref().child('users');
usersRef.child(username).once('value')
.then(function (userRecord) {
if(userRecord.exists()) {
alert('That username is already registered');
} else {
//--> There's a ref in each snapshot
userRecord.ref.child('username').set(username)
.then(function () {
userRecord.ref.child('points').set(100);
});
}
});
添加点:
usersRef.child(username).child('points').transaction(function (points) {
return (points || 0) + 10;
});
注意:不要忘记保存数字(100)而不是字符串(“100”),否则递增器将无法正常工作。祝你好运。我想你是在问,只有当用户不存在时,如何更新firebase中的用户记录?假设firebase 3.x.x:
var usersRef = firebase.database().ref().child('users');
usersRef.child(username).once('value')
.then(function (userRecord) {
if(userRecord.exists()) {
alert('That username is already registered');
} else {
//--> There's a ref in each snapshot
userRecord.ref.child('username').set(username)
.then(function () {
userRecord.ref.child('points').set(100);
});
}
});
添加点:
usersRef.child(username).child('points').transaction(function (points) {
return (points || 0) + 10;
});
注意:不要忘记保存数字(100)而不是字符串(“100”),否则递增器将无法正常工作。祝你好运。但是,像这样的用户每次赢得该级别时,他应该得到10分-->并且应该在数据库中更新该分数-->以更新该分数。一切正常,但我无法更新我的分数,我收到此错误消息Uncaught ReferenceError:未定义用户名,这是我编辑的代码:
文档。getElementById('addPoints')).addEventListener('click',函数(事件){var usersRef=firebase.database().ref().child('users');usersRef.child(username).child('points')。事务(函数(points){return(points | 0)+10;})代码>来自您的常量用户名分配。如果常数为空,它将抛出一个错误。如果您是为web使用而编写的,您可能希望坚持使用ES5JavaScript或使用ES6的帮助程序。非常好。但是,每次像这样的用户赢得该级别时,他应该得到10分-->并且应该在数据库中更新该值。一切正常,但我无法更新我的值,我收到以下错误消息未捕获引用错误:未定义用户名,这是我编辑的代码:document.getElementById('addPoints').addEventListener('click',函数(事件){var usersRef=firebase.database().ref().child('users');usersRef.child(username).child('points')。事务(函数(points){return(points | 0)+10;})
这是您的const username赋值。如果常量为空,它将抛出一个错误。如果您是为web使用而编写的,您可能希望坚持使用ES5 Javascript或使用ES6的一些帮助程序。非常好,非常有用。