Я совершенно новичок ie в программировании, и это мой первый вопрос по этой платформе. Я пишу медицинское приложение на Flutter, которое работает так же, как Uber, используя Firebase. У меня есть два приложения (пациенты и медицинские работники), и оба используют одну базу данных. В приложении пациента есть значки, представляющие всех медицинских работников. то, что я хочу сделать, - это щелкнуть определенный значок c, я хочу получить конкретный c 'user_type' (в частности, медицинские работники) и отобразить результат в ListView.
В «типе пользователя» у меня есть фармацевты, медсестры, врачи и т. Д. c.
Код, который я написал, показан ниже.
Функция get:
void getDoctors() async {
try {
final doctors = await _firestore
.collection('users')
.where('user_type', isEqualTo: 'doctor')
.getDocuments();
for (var doctor in doctors.documents) {
print(doctor);
}
} catch (e) {
print(e);
}
}
Код кнопки, реализованный в скаффолде:
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Center(
child: RaisedButton(
child: Text(
'search',
style: kSendButtonTextStyle,
),
onPressed: () {
getDoctors();
},
),
),
);
Вывод на консоли:
I / flutter (3262): Экземпляр 'DocumentSnapshot'
Если это невозможно, следует ли мне изменить структуру базы данных на ориентироваться на разных пользователей? Например, разные коллекции для каждого медицинского работника, в отличие от них, входящие в одну коллекцию и идентифицируемые только полем user_type в Firestore.