【发布时间】:2021-08-30 15:57:04
【问题描述】:
【问题讨论】:
标签: database firebase flutter google-cloud-firestore
【问题讨论】:
标签: database firebase flutter google-cloud-firestore
要获取数据,您可以创建如下函数:
Future getData(String username) async {
List dataList = [];
try {
await FirebaseFirestore.instance.collection('userdata').where('user', isEqualTo: username).get().then((QuerySnapshot querySnapshot) => {
querySnapshot.docs.forEach((doc) {
itemList.add(doc.data());
}),
});
return itemList;
} catch (e) {
print(e.toString());
return null;
}
}
当你调用这个函数时,你必须传递username,它会返回一个数据项列表。
然后可以使用此列表在 UI 中将数据显示为:
child: Text(
title: Text(subjectList[index]['user']),
),
【讨论】:
你可以试试这个approach 它对我有帮助,但是如果你已经迁移到空安全,请确保你相应地更改代码
【讨论】:
您可以尝试以下查询来获取结果。
FirebaseFirestore.instance
.collection('your-collection-name')
.where('user', arrayContains: 'nam@gmail.com')
.get();
【讨论】:
user 键值。您可以简单地使用不带条件语句arrayContains: email 的相同查询。 Future<QuerySnapshot> user = FirebaseFirestore.instance .collection('userdata') .where('user').get();
FirebaseFirestore.instance .collection('userdata') .where('weight').get();
Instance of 'Future<QuerySnapshot<Map<String, dynamic>>>'