【问题标题】:For document id same as user uid, how to retrieve only one user's data from firestore?对于与用户 uid 相同的文档 ID,如何从 Firestore 中仅检索一个用户的数据?
【发布时间】:2020-11-16 00:26:43
【问题描述】:

我正在使用 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 中检索该用户的结果并显示在屏幕上。 我需要一个通用的解决方案,以便无论当前用户是谁,都能检索到相应的结果并将其显示在屏幕上。

【问题讨论】:

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


    【解决方案1】:

    要检索当前登录用户的数据,你可以这样做:

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

    【讨论】:

    • 使用这个我得到的值为 {result: 98190.3},你能告诉我,我怎样才能只得到它的数字???
    • 请用您用来在此处显示和链接我的代码提出不同的问题,以便我检查它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 2019-03-30
    • 2021-01-21
    • 2021-01-18
    • 2017-06-10
    相关资源
    最近更新 更多