Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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_Html_Firebase_Firebase Realtime Database - Fatal编程技术网

如何通过Javascript更新Firebase元素?

如何通过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') 提前谢谢 我想你是在问,只有

我正在编写一个小应用程序,其中你有一个评分系统(比如每个用户10分),我通过Firebase数据库完成这项工作

我的问题是,我不知道如何更新我一开始创建的数据库元素。我想通过Javascript脚本更新我的观点,该脚本可以被触发

这是我目前的代码:

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的一些帮助程序。非常好,非常有用。