如何在React.js中移除Firebase实时数据库自动生成的ID
移除Firebase实时数据库自动生成ID,实现自定义存储标识
要取消Firebase实时数据库自动生成的唯一ID,改用自定义数据标识/路径,核心是把POST请求换成PUT请求,并在URL中指定自定义的节点路径,具体操作如下:
原理说明
当你向xxx.json这类集合节点发送POST请求时,Firebase会自动生成唯一ID作为子节点存储数据。如果需要自定义节点名称,直接在URL中拼接具体的节点路径(比如xxx/自定义标识.json),并使用PUT请求即可。
修改后的代码示例
假设你想用用户ID、业务编码等作为自定义标识,代码调整如下:
const { support } = userData; // 替换为你的自定义唯一标识,比如用户ID、自定义业务key const customId = "user_001"; const res = fetch(`https://j-kik-3f4e1-default-rtdb.firebaseio.com/userDataRecords/${customId}.json`, { method: "PUT", // 将POST改为PUT headers: { "Content-Type": "application/json", }, body: JSON.stringify({ support, }) } );
注意事项
- 使用PUT请求时,如果指定的
customId节点已存在,原有数据会被完全覆盖;若仅需更新部分字段,可改用PATCH请求。 - 自定义标识需保证唯一性,避免出现数据覆盖问题,推荐使用用户唯一ID、业务唯一编码等作为标识。
内容的提问来源于stack exchange,提问作者Fahad
相关产品推荐
相关产品推荐

