Как обновить поля, используя условия Где текущий пользователь = ключ (идентификатор пользователя) firestore и флаттер - PullRequest
0 голосов
/ 20 апреля 2020

Здравствуйте, я использую flutter и firebase, поэтому у меня есть firestore. У меня есть название коллизии Institutes, а в документе есть имена Institutes и мои поля. У меня есть данные профиля ... Ключевой идентификатор пользователя в полях *

Снимок экрана

onPressed: ()async {
    final FirebaseAuth auth = FirebaseAuth.instance;
    final user = await auth.currentUser();
    final iduser = user.uid;
    final emailuser = user.email;
    final snapshot = await Firestore.instance.collection("Institute")
        .document(_Institute_name.text).get();
    if (snapshot.exists) {
        print(this name is existd);
    } else {
        await  DataBaseService(email: emailuser,
        uid: iduser,
        Document: _Institute_name.text)
            .CreateCollectionInofwithImage(
        _Institute_name.text, Institute_address.text,
        int.parse(Institute_phone.text), _image).then((isdone) {
            setState(() {
                Institute_address.clear();
                Institute_phone.clear();
                _Institute_name.clear();
                _image = null;
            });
        });    
    }
}

1 Ответ

0 голосов
/ 20 апреля 2020

Хорошо, попробуйте это

onPressed: ()async {
    final FirebaseAuth auth = FirebaseAuth.instance;
    final user = await auth.currentUser();
    final iduser = user.uid;
    final emailuser = user.email;
     QuerySnapshot snapshot = await Firestore.instance
      .collection('Institute')
      .where('user id', isEqualTo: iduser)//I think this is your field name from the 
//picture it looks like theres a space in it
      .getDocuments();
  if (snapshot != null) {
    Map<String,dynamic> document = snapshot.documents[0].data;
    //Then you would reference this by document['fieldName']

    } else {
        await  DataBaseService(email: emailuser,
        uid: iduser,
        Document: _Institute_name.text)
            .CreateCollectionInofwithImage(
        _Institute_name.text, Institute_address.text,
        int.parse(Institute_phone.text), _image).then((isdone) {
            setState(() {
                Institute_address.clear();
                Institute_phone.clear();
                _Institute_name.clear();
                _image = null;
            });
        });    
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...