javascript - 使用javascript自动增加firebase中的值

标签 javascript firebase firebase-realtime-database auto-increment

你好,我正在做一些 firebase 项目,我可以通过 javascript 将我的数据保存到 firebase 数据库中。但是我无法弄清楚如何自动增加我的数据库的子值(我的子值是 duyuru,你可以在下面看到详细信息)。我在下面分享了我的代码,你能给我一些提示来解决这个问题吗?

  <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>

输出是这样的

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

我想输出这样的数据;

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

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

duyuru(子值)部分应该是自动递增的,这就是我想要的。谢谢你的回答

最佳答案

Firebase 没有自动递增键,因为这些键在客户端可能长时间离线的大型多用户系统中效果不佳。

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

参见 Firebase documentation on saving data in lists , 这个遗产 blog post on why arrays don't work well in Firebase还有这个post on how push ids work .

关于javascript - 使用javascript自动增加firebase中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39065786/

相关文章:

java - 获取数据库中另一种User类型的userId

javascript - 如何默认将 NativeScript 设置为 RTL 布局

ios - Crashlytics 为混淆的应用程序手动上传 dSYM

firebase - ListView.builder 仅在热重载 flutter 应用程序后加载

android - FirebaseUser 的个人资料未更新

mysql - 有什么方法可以将 MySQL 中的数据与 Firebase 同步吗?

arrays - 检查 swift 数组是否不包含对象

javascript - 显示 :none defaulting width 的 HTML 元素

javascript - 自毁 Javascript 函数 - 它是如何工作的?

javascript - jquery 显示/隐藏 div 下拉菜单不起作用