【问题标题】:Flutter/Dart/FireStore Query Error: NoSuchMethodFlutter/Dart/FireStore 查询错误:NoSuchMethod
【发布时间】:2019-01-04 21:28:55
【问题描述】:

我有一个查询 firestore 和检索特定用户的功能,但我一直收到同样的错误。

我得到的错误如下:

I/flutter (29600): The following NoSuchMethodError was thrown building SellerInfo(dirty, state:
I/flutter (29600): _SellerInfoState#90e11):
I/flutter (29600): Class 'Future<User>' has no instance getter 'displayName'.
I/flutter (29600): Receiver: Instance of 'Future<User>'
I/flutter (29600): Tried calling: displayName
I/flutter (29600):

我第一次尝试这个:

Future<User> getUser(String displayName) async{
    await Firestore.instance.collection('users')
                           .where('displayName', isEqualTo: displayName)
                           .snapshots()
                           .listen( (QuerySnapshot onData) {
                             List<User> user = onData.documents.map(
                               (DocumentSnapshot doc) => _fromUserSnapShot(doc)
                             );
                             return user.first;
                           });
    return null;


  }

然后

Future<User> getUser(String displayName) async{
    return (await Firestore.instance.collection('users')
                           .where('displayName', isEqualTo: displayName)
                           .getDocuments())
                           .documents
                           .map((DocumentSnapshot doc) => _fromUserSnapShot(doc))
                           .first;
  }

这是用户类

class User {
    final String displayName;
    final String email;
    final String school;

    User({
      @required this.displayName,
      @required this.email,
      @required this.school,
    });
}

【问题讨论】:

    标签: firebase dart google-cloud-firestore flutter


    【解决方案1】:

    尝试直接获取该用户的文档:Firestore.instance.collection('users').document(displayName).get()

    【讨论】:

    • 那行不通,因为 displayName 不是文档的 id
    • 但是,这个游戏的想法是重新设计我的数据库,所以现在,它的功能。谢谢
    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 2022-01-23
    • 2019-11-02
    • 2023-03-09
    • 2021-11-13
    • 2018-10-23
    • 2018-08-02
    • 2018-11-26
    相关资源
    最近更新 更多