当前位置: 首页 > 知识库问答 >
问题:

添加具有自动递增的自定义ID的子级-Firebase

钱和安
2023-03-14

我想用自动增量id向firebase数据库添加一个新用户,如下截图所示:

我试过:

    var rootRef = firebase.database().ref();
    var storesRef = rootRef.child("/users");
    storesRef.set({
      "name": "user1",
      "pageId": "user1"
    });

共有1个答案

夹谷和韵
2023-03-14

我不建议这样做,但您可以尝试以下方法:

storesRef.limitToLast(1).once('value', (snapshot) => {
    const nextID = parseInt(snapshot.key) + 1;
    let updates = {};
    updates['/users/' + nextID] = // your user;
    rootRef.update(updates);
});

但是,我强烈建议您使用Firebases自动生成的IDs,因为这种方法非常容易出错。

你也应该看看这个答案。

 类似资料:
  • 我正在尝试使用现有主键将自动递增id添加到现有表中 这是我的密码 表代码的初始迁移 将自动增量ID添加到现有表代码 我试图做的是向这个现有表添加一个自动递增的id,但它给了我这个错误 有人能帮帮我吗?我不想删除表的主键,我只想添加另一个自动递增的id,它不是主键,但可以是唯一键

  • 问题内容: 我有一个使用hibernate和注解的j2ee应用程序。我如何注释我的pojo类中的Id字段以将其设置为自动增量或自动生成。在添加bean时,我是否将该字段留在bean中为null? 问题答案: 并在保留时将其保留为。(如果使用包装器) 在某些情况下,该策略被解析为或,因此你可能需要手动将其设置为(取决于基础数据库)。 似乎+ 指定序列名称对你有用。

  • 问题内容: 我需要创建一个基本上只保留索引列表的表。因此,我创建了一个表,其中只有一个自动递增的列,称为“ id”。但是,我似乎无法向该表隐式添加自动递增的值。 我知道通常在表中有这样一列(不仅有此列)时,您可以执行以下操作: 插入表(col1,col2 …)值(val1,val2 …) 而且,如果您不指定自动递增的列,它将自动获取一个值。但是,类似: 插入表()值()插入表插入表() 等等。所有

  • 问题内容: 我们希望从mySQL获取一个自动递增的ID,而无需实际存储它,直到其他与mysql不相关的进程成功完成为止,这样,如果发生异常或应用程序崩溃,就不会存储该条目。我们需要使用ID作为其他进程的密钥。本质上,我们要“保留”自动增量,并将最后一行插入到mySQL中。我们不希望在知道整个过程成功完成之前插入任何行。 可以在mySQL中进行这种自动增量保留吗? 注意:我了解SQL事务。但是,我们

  • 问题内容: 我有一个使用hibernate和注解的j2ee应用程序。我如何注释我的pojo类中的Id字段以将其设置为自动增量或自动生成。在添加bean时,我是否将该字段留在bean中为null? 问题答案: 并在保留时将其保留为()。(如果使用/ 包装器) 在某些情况下,该策略被解析为to 或to ,因此您可能需要手动将其设置为or (取决于基础数据库)。 似乎 + 指定序列名称 对您有用。

  • 问题内容: 在MySQL中,是否可以在自动递增前面附加一个字母。我的数据库中有几个表,其中一些表具有通过自动增量创建的唯一ID。我希望能够通过前面的字母来区分自动生成的数字。 这不是绝对必需的功能,但只会帮助简化小型任务。 问题答案: 不幸的是你不能那样做。至少不是在sql中。自动增量字段是整数类型,因此在其中添加字母会违反约束。 我希望这可以引导您朝正确的方向发展。