如何在Flutter Web端禁用Firebase自动生成UUID
解决方案
根因说明
Firebase 实时数据库 REST 接口中,POST 方法默认对应 push 操作,会自动在目标路径下生成唯一ID子节点存储数据,就是你遇到的额外出现自动生成字段的原因。
修改方案
将请求方法从 POST 替换为 PUT 即可,PUT 方法对应 set 操作,会直接将数据覆盖写入指定路径,不会额外生成子节点。
修改后的代码示例:
await put(Uri.parse("https://officialnasproject-default-rtdb.firebaseio.com/App/People/${AuthID}.json"), body: jsonEncode(userDataMap));
补充说明
- 如果需要保留原有节点下的其他字段仅更新部分字段,可以改用
PATCH方法 - 操作前请确认数据库安全规则放开了对应路径的写入权限,否则会返回401/403权限错误
内容的提问来源于stack exchange,提问作者Anonymous Trap
相关产品推荐
相关产品推荐

