Есть ли способ, которым вы можете получить все документы из пожарного магазина и затем использовать данные внутри него? - PullRequest
0 голосов
/ 12 марта 2020

Это то, что у меня есть для каждого пользователя с 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);
  }
}
...