如何在Angular中通过HTTP请求自定义Firebase节点键替换随机键

问题原因
你当前使用POST请求提交到/users.json时,Firebase Realtime Database REST API 默认会生成随机唯一ID作为新增节点的键,这就是得到随机键的原因。要自定义节点键,需要改用PUT请求,将自定义键直接拼接在请求路径中。
修改后的实现代码
addUserToBase( email: string, name: string, surname: string, position: string, userId: string ) { // 将自定义的userId作为节点键拼接到URL中,使用PUT替换POST return this.http.put<User>( `https://[API_KEY].firebasedatabase.app/users/${userId}.json`, { userId: userId, email: email, name: name, surname: surname, position: position } ); }
注意事项
- 示例中使用传入的
userId作为users下的子节点键,你也可以替换为其他自定义字符串作为目标键 - PUT请求会覆盖目标路径下已有的全部数据,若对应
userId的节点已存在,原有数据会被新提交的内容完全替换。如果仅需要更新部分字段不覆盖全量数据,可以将PUT改为PATCH请求
内容的提问来源于stack exchange,提问作者Young programmer
相关产品推荐
相关产品推荐

