Firebase 如何检查文档数据库中是否存在数据

Firebase 如何检查文档数据库中是否存在数据,firebase,flutter,dart,Firebase,Flutter,Dart,当用户按下此按钮时,我试图检查firebase中是否存在用户输入数据 如果存在,请注册 这是按钮 onPressed: () { setState(() { if (studentId == null){ //error message

当用户按下此按钮时,我试图检查firebase中是否存在用户输入数据

如果存在,请注册

这是按钮


                          onPressed: () {
                            setState(() {
                              if (studentId == null){
                                 //error message 
                              }else {
                                _firebase
                                    .collection("university_ids")
                                    .doc(studentId)
                                    .get()
                                    .then((doc) {
                                  if (doc.exists) {
                                    setState(() {
                                      isExists = true;
                                    });
                                  } else {
                                    setState(() {
                                      isExists = false;
                                    });
                                  }
                                });
                                if (isExists) {
                                  Navigator.pushNamed(
                                      context, 'sign_up_screen');
                                } 
这是文本字段

                            onChange: (value) {
                              setState(() {
                                studentId= value;
                              });
                            },
                        

您似乎根本不需要
setState
呼叫

只需对按下的
onPressed
回调使用
async
函数,然后使用
wait
异步获取数据

onPressed: () async {
  if (studentId == null) { //error message }
  else {
     var doc = await _firebase.collection("university_ids").doc(studentId).get();
                              
     if (doc.exists) Navigator.pushNamed(context, 'sign_up_screen');
  }
}

您似乎根本不需要
setState
呼叫

只需对按下的
onPressed
回调使用
async
函数,然后使用
wait
异步获取数据

onPressed: () async {
  if (studentId == null) { //error message }
  else {
     var doc = await _firebase.collection("university_ids").doc(studentId).get();
                              
     if (doc.exists) Navigator.pushNamed(context, 'sign_up_screen');
  }
}