Firebase将生成的ID转换为数字ID

时间:2017-09-15 01:56:44

标签: javascript firebase firebase-realtime-database

这是一个老问题但没有找到答案。旧答案的源链接已经死亡,旧函数已被弃用。

我会查看这些主题(12)以及当前的Firebase guide

function writeUserData(name, win, loss) {
    firebase.database().ref('users/').push({
        name: name,
        wins: win,
        losses: loss
    });
}

我需要拉或以某种方式将每次推送的唯一ID转换为数字ID:1,2

UPDATE:

这是我正在尝试做的事情:

  • 2位用户可以从2个不同的浏览器同时登录。
  • 第一个用户点击按钮'登录'或'开始'将在firebase上写为users/1/{user's attributes}
  • 如果有现有用户 (我需要在用户端检查),下一个用户点击 'start'将在firebase上写为users/2/{user's attributes}。否则(没有现有用户),用户将被写为user1。这是我认为我需要push而不是set的地方。我可以使用set从1个浏览器中添加更多用户,但如果我从其他浏览器/ Chrome隐身处打开该应用,该应用只会重置现有用户。
  • 如果用户刷新或关闭浏览器,该用户将从firebase中删除,以便其他用户可以登录。

我尝试过不同的方法(循环,创建新的var ......)来实现这一目标。

1 个答案:

答案 0 :(得分:0)

而不是.push,尝试使用.set或.update。通过这种方式,您可以设置自己生成的密钥。但正如已经提出的那样,这可能不是最佳方法。

相关问题