Android 是否有方法可以从firestore获取所有文档,然后使用其中的数据?
这是我为每个用户提供的UID: 但我想收到所有文件,以显示在一张卡片上。当他们点击一个按钮时,卡片消失了,新的卡片上显示了新的数据,这些数据来自随机用户 这是一个用UID将数据保存给当前用户的类Android 是否有方法可以从firestore获取所有文档,然后使用其中的数据?,android,ios,flutter,dart,native,Android,Ios,Flutter,Dart,Native,这是我为每个用户提供的UID: 但我想收到所有文件,以显示在一张卡片上。当他们点击一个按钮时,卡片消失了,新的卡片上显示了新的数据,这些数据来自随机用户 这是一个用UID将数据保存给当前用户的类 class DatabaseService { final String uid; DatabaseService({ this.uid }); final CollectionReference users = Firestore.instance .collection(
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);
}
}
类数据库服务{
最后一个字符串uid;
数据库服务({this.uid});
最终收集参考用户=Firestore.instance
.收集(“用户”);
Future updateUserData(字符串instagram、字符串年龄、字符串性别)异步{
return wait users.document(uid).setData({
“instagram”:instagram,
“年龄”:年龄,
“性别”:性别,
});
}
Future updateGender(字符串性别)异步{
return wait users.document(uid).updateData({
“性别”:性别,
});
}
Future updateProfile(字符串年龄、字符串名称、字符串描述、字符串图片)异步{
return wait users.document(uid).updateData({
“年龄”:年龄,
“姓名”:姓名,
“描述”:描述,
“图片”:图片,
});
}
Future updateAccount(bool帐户)异步{
return wait users.document(uid).updateData({
“私人”账户,
});
}
//这可能会导致读取中出现峰值。请稍微更改此设置
UserData\u userDataFromSnapshot(DocumentSnapshot快照){
返回用户数据(
uid:uid,
帐户:snapshot.data[“private”],
instagram:snapshot.data[“instagram”],
性别:快照。数据[“性别”],
年龄:快照。数据[“年龄”],
description:snapshot.data[“description”],
名称:snapshot.data[“name”],
图片:快照。数据[“图片”],
);
}
//获取用户文档流
流获取用户数据{
返回users.document(uid).snapshots()
.map(_userDataFromSnapshot);
}
}
能否添加一些有关firestore数据结构的信息?这将有助于更好地诊断您的问题。@AshutoshSingh我已经用我现在用于保存和检索数据的工具对其进行了更新。使用其中的数据是什么意思?@Ggriffo我为每个用户都提供了一个带有uniqe UID的文档,该文档中有带名称、性别、,年龄等。我想获得一个随机用户,然后显示该随机用户的姓名、性别、年龄。您想以随机顺序显示所有用户,并让他们在单击时更改,还是希望显示一张卡并让该用户随机更改?