【问题标题】:Remove auto generated id while using Firebase realtime database [duplicate]使用 Firebase 实时数据库时删除自动生成的 ID [重复]
【发布时间】:2021-07-19 09:59:21
【问题描述】:

我有以下功能:

 Future<void> addLoyalty(int points) async {
    print('inside add loyalty'); 
    final url =
        'https://fnj11223.firebaseio.com/loyalty/$userId.json?auth=$authToken';
    try {
        await http.post(
        url,
        body: json.encode({
          'points': points,
        }),
      );
    } catch (error) {
      print(error);
      throw error;
    }
  }

这是数据库快照:

我想摆脱生成的额外 ID。我该如何调整我的功能来实现这一点?

【问题讨论】:

标签: firebase flutter dart firebase-realtime-database


【解决方案1】:

您正在发出 POST 请求,该请求等效于 Firebase 客户端 SDK 中的 push() 方法。如果您想在没有按键的情况下在特定位置写入,请按照documentation 中的说明发出PUT 请求。

来自文档的示例请求:

curl -X PUT -d '{ "first": "Jack", "last": "Sparrow" }' \
  'https://[PROJECT_ID].firebaseio.com/users/jack/name.json'

【讨论】:

  • put 为我做的。非常感谢。
【解决方案2】:

将 firebase 实时插件插入到您的应用 pubspec.yaml 文件中,而不是调用 API。由于插件为您提供高级功能和易于集成的功能 https://pub.dev/packages/firebase_database/install

而不是仅将设置值添加到您的参考中。

点赞dbRef.set({your json goes here})

【讨论】:

    猜你喜欢
    • 2019-09-02
    • 2021-07-22
    • 2021-05-08
    • 2021-02-23
    • 1970-01-01
    • 2022-10-26
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    相关资源
    最近更新 更多