首页 > 解决方案 > 使用 Firebase 实时数据库时删除自动生成的 ID

问题描述

我有以下功能:

 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。我怎样才能调整我的功能来实现这一点?

标签: firebaseflutterdartfirebase-realtime-database

解决方案


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

来自文档的示例请求:

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

推荐阅读