如何在不在 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 的情况下发布我的数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 上生成复杂的声音?

Mpdf 不在移动设备上生成 PDF。在台式机上完美运行

在 Firebase Cloud Functions 上使用带有 PDFMake 的 Promise

如何在CCS上生成.txt文件并烧录到MSP430

Firebase数据库不在控制台中显示任何数据[重复]

如何在 IIS 上生成负载?