Это то, что у меня есть для каждого пользователя с UID: Но я хочу получать все документы для показа на карте. И когда они нажимают кнопку, карта исчезает, и новая отображается с новыми данными, эти данные от случайного пользователя.
Это класс для сохранения данных для текущего пользователя с его UID.
class DatabaseService {
final String uid;
DatabaseService({ this.uid });
final CollectionReference users = Firestore.instance
.collection("users");
Future updateUserData(String instagram, String age, String genders) async {
return await users.document(uid).setData({
"instagram": instagram,
"age": age,
"gender": genders,
});
}
Future updateGender(String genders) async {
return await users.document(uid).updateData({
"gender": genders,
});
}
Future updateProfile(String age, String name, String description, String picture) async {
return await users.document(uid).updateData({
"age": age,
"name": name,
"description": description,
"picture": picture,
});
}
Future updateAccount(bool account) async {
return await users.document(uid).updateData({
"private": account,
});
}
// THIS CAUSES PROBALY THE SPIKES IN READS. CHANGE THIS A BIT
UserData _userDataFromSnapshot(DocumentSnapshot snapshot) {
return UserData(
uid: uid,
account: snapshot.data["private"],
instagram: snapshot.data["instagram"],
gender: snapshot.data["gender"],
age: snapshot.data["age"],
description: snapshot.data["description"],
name: snapshot.data["name"],
picture: snapshot.data["picture"],
);
}
//get user doc stream
Stream<UserData> get userData {
return users.document(uid).snapshots()
.map(_userDataFromSnapshot);
}
}