Я создаю веб-приложение, связанное с пожарным магазином. Схема базы данных выглядит следующим образом:
Моя проблема в том, что я хочу получить ссылку на документ пользователя, т. Е. (Компания и идентификатор пользователя) от простого ввода адреса электронной почты пользователей. Ниже приведен код моего метода getUserRef ():
Future<fs.DocumentReference> getUserRef (String userEmail) async {
String comp;
String id;
List<String> companies = await companyList();
for (var i = 0; i < companies.length; i++) {
store.collection('companies').doc(companies[i]).collection('users').get().
then((val) {
val.forEach((user){
if(user.data()['Email'] == userEmail) {
comp = user.data()['company'];
id = user.id;
}
});
});
}
fs.DocumentReference ref = store.collection('companies').doc(comp).collection('users').doc(id);
return ref;
}
Мой метод companyList()
работает нормально и получает список всех идентификаторов компании c. Я не могу понять, как заставить это работать, и не могу продолжать проект без него.
Любая помощь приветствуется.