#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"]);
});