如何在不在 firebase 实时数据库上生成 firebase id 的情况下发布我的数据?
Posted
技术标签:
【中文标题】如何在不在 firebase 实时数据库上生成 firebase id 的情况下发布我的数据?【英文标题】:How can I post my data without generating firebase id on firebase realtime database? 【发布时间】:2020-11-05 02:14:35 【问题描述】:我正在尝试将用户的身份验证 ID 推送到实时数据库,以便同时轻松获取它们,但实时数据库继续在 UUID 下生成 ID。
Future<http.Response> createUserProfile(
String id,
String email,
String userName,
) async
return await http.post(
ServiceKeys.FIREBASE_URL + "/users/$id.json",
headers: <String, String>
'Content-Type': 'application/json; charset=UTF-8',
,
body: jsonEncode(<String, String>'name': userName, 'email': email),
);
我不想生成“-MCHpnJZnKvth-L89axu”。而是直接将其写入我提供的 id 中。
【问题讨论】:
【参考方案1】:尝试使用 put 而不是 post。 Firebase API 说
POST:添加到 Firebase 数据库中的数据列表。每次我们 发送 POST 请求,Firebase 客户端会生成一个唯一密钥,例如 消息/用户//
和
PUT:将数据写入或替换到定义的路径,例如 消息/用户/user1/
既然你已经有了 uid,那它就是一个定义好的路径
【讨论】:
谢谢。 put 为我工作。我感觉太糟糕了,无法正确阅读文档。谢谢你注意到我:) 在使用 POST 或 PUT 时,有没有办法在请求正文中生成唯一 id 或传递 uid ?以上是关于如何在不在 firebase 实时数据库上生成 firebase id 的情况下发布我的数据?的主要内容,如果未能解决你的问题,请参考以下文章