使用JavaScript自动增加firebase中的值 [英] Auto increment a value in firebase with javascript

查看:252
本文介绍了使用JavaScript自动增加firebase中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好我正在做一些firebase项目,我可以通过javascript将数据保存到firebase数据库中。但我无法弄清楚自动递增我的数据库的子值(我的孩子的价值是duyuru,你可以看到下面的细节)。

 < script>分享我在下面的代码可以给我提示,以解决这个问题。 

//初始化Firebase
var config = {
apiKey:sample1,
authDomain:sample2,
databaseURL:sample3,
storageBucket:sample4,
};


firebase.initializeApp(config);
var database = firebase.database();

firebase.initializeApp(config);
var database = firebase.database();

函数writeUserData(userId,name,email,imageUrl){
var kategori1 = document.getElementById(kategori).value;
var duyuru1 = document.getElementById(duyuru)。value;
var name1 = document.getElementById(name).value;
var email1 = document.getElementById(email).value;
var imageUrl1 = document.getElementById(imageUrl)。value;




$ b firebase.database()。ref(kategori1 +/+ duyuru1).set({
username: name1,
email:email1,
profile_picture:imageUrl1
});
}

< / script>

出来就是这样

<$ p
duyuru1:{
email:kjfdlkl,
profile_picture:dsfsd,
用户名 :meraha
}
}

我想输出像;

  {
duyuru1:{
email:kjfdlkl,
profile_picture:dsfsd,
username:meraha
},

duyuru2:{
email:kjfdlkl,
profile_picture:dsfsd,
username:meraha
}
}

duyuru(孩子价值)部分应该是自动增量,这就是我想要的。感谢您的回答 解决方案

Firebase没有自动递增键,因为这些键在大量多用户系统,客户可以长时间离线。

相反,Firebase有自己的一种自动生成的密钥,称为推送ID。这些推送ID在许多关系数据库中具有与序列相同的重要属性:它们是有序的和顺序的。但是,除此之外,即使客户端未连接到Firebase服务器,也可以计算客户端。



请参阅关于在列表中保存数据的Firebase文档,这是旧版的关于为什么阵列在Firebase中不能正常工作的博客文章以及关于推送ID如何工作的文章


Hello I'm working on some firebase project and i can save my datas via javascript into firebase database. But i couldn't figure it out to auto increment child value (my child value is duyuru, you can see the details in the below) of my database. I'm sharing my code in below can you give me hints to solve this issue.

  <script>

      // Initialize Firebase
      var config = {
        apiKey: "sample1",
        authDomain: "sample2",
        databaseURL: "sample3",
        storageBucket: "sample4",
      };


      firebase.initializeApp(config);
      var database = firebase.database();

     firebase.initializeApp(config);
  var database = firebase.database();

  function writeUserData(userId, name, email, imageUrl) {
  var kategori1 =  document.getElementById("kategori").value;
  var duyuru1 = document.getElementById("duyuru").value;
  var name1 = document.getElementById("name").value;
  var email1 = document.getElementById("email").value;
  var imageUrl1 = document.getElementById("imageUrl").value;





  firebase.database().ref(kategori1 +"/" + duyuru1).set({
    username: name1,
    email: email1,
    profile_picture : imageUrl1
  });
}

    </script>

and the out is like this

{
    "duyuru1": {
        "email": "kjfdlkl",
        "profile_picture": "dsfsd",
        "username": "meraha"
    }
}

I want to output data like;

{
    "duyuru1": {
        "email": "kjfdlkl",
        "profile_picture": "dsfsd",
        "username": "meraha"
    },

    "duyuru2": {
        "email": "kjfdlkl",
        "profile_picture": "dsfsd",
        "username": "meraha"
    }
}

duyuru (child value) section should be auto increment, That's what i wanted for. Thank you for your answers

解决方案

Firebase has no auto-incrementing keys, since those don't work well in massively multi-user systems where clients can be offline for prolonged periods.

Instead, Firebase has its own type of auto-generated keys called push IDs. These push IDs have the same important properties of sequences in many relational databases: they are ordered and sequential. But in addition, they can be calculated client-side, even when the client is not connected to the Firebase servers.

See the Firebase documentation on saving data in lists, this legacy blog post on why arrays don't work well in Firebase and this post on how push ids work.

这篇关于使用JavaScript自动增加firebase中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆