在我的firestore中,我创建了一个creators集合,并且正在尝试创建一个编辑配置文件集合。我想获取creators集合中一个字段的值,并将其添加到编辑配置文件集合中。经过一些研究,我找到了一种方法来实现这一点,但是当我想设置字段的值时,我得到了上面的错误。我真的很感谢您的帮助。以下是代码
editProfile()async{
CollectionReference creatorCollection = FirebaseFirestore.instance.collection('Creators');
CollectionReference editProfileCollection = FirebaseFirestore.instance.collection('EditProfile');
String profileImageUrl =await uploadProfilePictureToStorage(_image);
String profilePicUrl =await uploadProfilePictureToStorage(_profilePic);
creatorCollection.where("fullName", isEqualTo: widget.enterName).get().then((querySnapshot) {
querySnapshot.docs.forEach((result) {
final DocumentSnapshot creatorDoc = result;
editProfileCollection.doc(FirebaseAuth.instance.currentUser!.uid).set({
'FullName': creatorDoc.data()?["fullName"],
'EditedFullName': _name,
'location': _location,
'links': _linked,
'contact':_contact,
'dob':_dob,
'uid':FirebaseAuth.instance.currentUser!.uid,
'likes':[],
'Headers': profileImageUrl,
'ProfilePic':profilePicUrl
}).whenComplete((){
Navigator.pop(context);
});
});
});
我想从creators集合中得到的是全名。如果有更好的方法来获得值,那也会很感激。顺便说一句,这里是集合
1条答案
按热度按时间os8fio9y1#
您可以使用
.get
或像使用'FullName': (creatorDoc.data() as Map?)?["fullName"],
一样使用as Map?