如何在 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(() {});
}
我创建了一个图标,我想在 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(() {});
}