对于与用户uid相同的文档ID,如何从Firestore中仅检索一个用户的数据?

时间:2020-07-26 15:47:24

标签: firebase flutter dart google-cloud-firestore firebase-authentication

我正在使用Dart,Flutter和Firebase制作一个应用程序。有注册/登录,我正在使用Cloud Firestore作为数据库。在我的Cloud Firestore中,用户UID是文档ID,每个用户都有特定的数据(结果)。

我只想检索当前用户的数据(存储在Firestore中)并显示在屏幕上。This is my cloud firestore image

void submitit(double n, m) async {
final FirebaseUser user = await FirebaseAuth.instance.currentUser();
final String usr = user.uid.toString();
if (_formKey.currentState.validate()) {
_formKey.currentState.save();
result = n * m;
}
DatabaseService(uid: usr).updateUserData(result.toString()); // to store data in firestore
//data is successfully stored in firestore.

//now retrive this user's result only from firestore

有许多用户已经注册并登录。 现在,我只想从云Firestore中检索此用户的结果并显示在屏幕上。 我需要一个通用的解决方案,以便无论当前用户是谁,都将检索到相应的结果并将其显示在屏幕上。

1 个答案:

答案 0 :(得分:1)

要检索当前登录用户的数据,则可以执行以下操作:

Future<DocumentSnapshot> getData() async {
var firebaseUser = await FirebaseAuth.instance.currentUser();
return await Firestore.instance.collection("result").document(firebaseUser.uid).get();
}