无法从Firebase检索单个数据

时间:2019-09-02 07:05:47

标签: flutter google-cloud-firestore

我想从Firebase数据库中检索用户的显示名称。但是此代码不起作用。我的代码有什么问题吗?请帮助我。

 Firestore.instance.collection('/users').where('email', isEqualTo: '${widget.user.email}')
    .snapshots()
    .listen((data) =>
    data.documents.forEach((doc)=>userName==(doc["displayName"]),));

1 个答案:

答案 0 :(得分:1)

我想将值分配给userName会有问题。尝试使用:

Firestore.instance.collection('/users').where('email', isEqualTo: '${widget.user.email}')
    .snapshots()
    .listen((data) =>
    data.documents.forEach((doc)=>userName=(doc["displayName"]),));

另外,正如@Ryosuke建议的那样,如果您只想读取一次数据,则可以使用

Firestore.instance.collection('/users').where('email', isEqualTo: '${widget.user.email}')
.getDocuments().then((value){
value.documents.forEach((doc)=>userName=doc["displayName"]);
});

希望这会有所帮助。请让我知道是否出现问题。