首页 > 解决方案 > 有没有可以从 firestore 获取所有文档然后使用其中的数据的方法?

问题描述

这是我为每个具有 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);
  }
}

标签: androidiosflutterdartnative

解决方案


推荐阅读