Как я могу проверить это в коллекции?

#firebase #flutter #dart #google-cloud-firestore

#firebase #флаттер #dart #google-облако-firestore

Вопрос:

Я добавил эту коллекцию:

 Map<String, String> userDataMap = {
              "userName": usernameEditingController.text,
              "userEmail": emailEditingController.text,
              "account": userType  // there is premium and regular account type
            };

...

Future<void> addUserInfo(userData) async {
    Firestore.instance.collection("users").add(userData).catchError((e) {
      print(e.toString());
    });
  }
  

И на самом деле я не знаю, как получить информацию о типе учетной записи, я хотел бы распечатать / получить значение, присвоенное «учетной записи».

Это то, что я пробовал, но это ничего не дало:

 var ok = await Firestore.instance
              .collection('users')
              .where('email', isEqualTo: email)
              .getDocuments();
          print(ok);
  

Заранее благодарю вас.

Ответ №1:

Внутри документа у вас есть вызываемое поле userEmail , а не email поэтому вам нужно выполнить следующее:

 var userDoc = await Firestore.instance
              .collection('users')
              .where('userEmail', isEqualTo: email)
              .getDocuments();
userDoc.documents.forEach((result) {
      print(result.data["account"]);
    });