在firebase中更新数据
我有一个注册页面,跨多个页面收集用户数据,如地址、出生日期、姓名等 在每个页面上,我都有一些运行的代码,用于更新firebase中文档中的各个字段。比如说在firebase中更新数据,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,我有一个注册页面,跨多个页面收集用户数据,如地址、出生日期、姓名等 在每个页面上,我都有一些运行的代码,用于更新firebase中文档中的各个字段。比如说 SECTION 1: onPressed: () async { if(_formKey.currentState.validate()) { await DatabaseService(uid: user.uid).up
SECTION 1:
onPressed: () async {
if(_formKey.currentState.validate()) {
await DatabaseService(uid: user.uid).updateUserData(
_currentPinCode ?? userData.pinCode,
);
}
Navigator.pushNamed(context, Routes.signup4);
}
我有一个名为database.dart的文件,用于处理数据库查询。在这里,我有一个名为updateUserData的函数,其中包含我希望在firebase文档中更新的字段。见下文:
SECTION 2:
final String uid;
DatabaseService ({ this.uid });
final CollectionReference userCollection = Firestore.instance.collection('users');
Future updateUserData(String firstName, String middleName, String lastName,
String dateOfBirth, String phone, int pinCode, String addressLn1,
String addressLn2, String city, String postCode, String country,
) async {
return await userCollection.document(uid).setData({
'firstName': firstName,
'middleName' : middleName,
'lastName' : lastName,
'dateOfBirth' : dateOfBirth,
'phone' : phone,
'pinCode' : pinCode,
'addressLn1' : addressLn1,
'addressLn2' : addressLn2,
'city' : city,
'postCode' : postCode,
'country' : country,
});
}
当第1节中的代码运行时,它当然缺少第2节中的所有参数,因此失败
我想知道当数据在应用程序的多个页面上时,更新firebase文档的最佳方式是什么。在地图的上下文跨越多个页面的情况下,收集地图中的所有数据是更好的做法,还是在每个页面完成后更新数据库更好?如果是这样,最好的方法是什么 我知道这是一个奇怪的问题,但有点卡住了,任何帮助都会很好
谢谢你在
地图中收集所有内容会更好,因为这样可以减少你必须进行的写入操作。最好的方法是什么,请举个例子。我建议你先自己尝试一下。在第一页实例化一个映射
,并将其传递到最后一页,从每个页面添加数据。在最后一页上,使用Map
设置firestore中的数据。在Map
中收集所有内容会更好,因为这样可以减少您必须执行的写入操作。最好的方法是什么,请您举个例子。我建议您先尝试一下。在第一页实例化一个映射
,并将其传递到最后一页,从每个页面添加数据。在最后一页上,使用映射设置firestore中的数据。