如何在 flutter 中添加更新和删除 firestore?

how to add update and delete firestore in flutter?

我创建了一个图标,我想在 firestore 中为数据库创建一个更新功能,我想自己输入更新的内容(使用文本字段)你能举一个简单的例子吗?

此处为删除方法和编辑方法

void delete(dynamic height, dynamic weight, String email) async {
    var androidAds = (await FirebaseFirestore.instance
            .collection('userdata')
            .doc(email.trim())
            .get())
        .data();

    List lstUser = androidAds!["data"];

    List newArray = [];
    for (var index = 0; index < lstUser.length; index++) {
      Map<String, dynamic> element = lstUser[index];

      if (element["Height"] != height.toString() &&
          element["Weight"] != weight.toString()) {
        Map<String, dynamic> mapInsert = {
          "Height": element["Height"],
          "Weight": element["Weight"],
        };
        newArray.add(mapInsert);
      }
    }
    await FirebaseFirestore.instance
        .collection('userdata')
        .doc(email.trim())
        .set(
      {
        "data": newArray,
      },
    );
    setState(() {});
  }



 // here for Edit method

  void edit(
    dynamic height,
    dynamic weight,
    String email,
    String heightController,
    String weightController,
  ) async {
    var androidAds = (await FirebaseFirestore.instance
            .collection('userdata')
            .doc(email.trim())
            .get())
        .data();

    List lstUser = androidAds!["data"];

    List newArray = [];
    for (var index = 0; index < lstUser.length; index++) {
      Map<String, dynamic> element = lstUser[index];

      if (element["Height"] == height.toString() &&
          element["Weight"] == weight.toString()) {
        Map<String, dynamic> mapInsert = {
          "Height": weightController,
          "Weight": heightController,
        };
        newArray.add(mapInsert);
      } else {
        Map<String, dynamic> mapInsert = {
          "Height": element["Height"],
          "Weight": element["Weight"],
        };
        newArray.add(mapInsert);
      }
    }
    await FirebaseFirestore.instance
        .collection('userdata')
        .doc(email.trim())
        .set(
      {
        "data": newArray,
      },
    );
    setState(() {});
  }