当“ QuerySnapshot”实例

时间:2020-05-21 05:08:56

标签: flutter google-cloud-firestore flutter-layout

因此,我正尝试从FutureBuilder-> QuerySnapshot中查询数据,以便可以将每个文档中的内容用于App内的一个目的,我正尝试通过以下方式访问数据:

snapshotsub.data[]

但是它似乎不起作用。我正在获取QuerySnapshot的实例。
这是我的FutureBuilder:

FutureBuilder<QuerySnapshot>(
            future: Firestore.instance.collection('dadosusuarios').document(user.uid).collection('buttons').getDocuments(),
            builder: (context, snapshotsub) {
              if (!snapshot.hasData) {
                return  Loading();
              }

             //int test = snapshotsub.data

              return Scaffold(

这是我代码的完整部分的样子:

return  StreamBuilder<DocumentSnapshot>(
        stream: DatabaseService(uid: user.uid).userData,
        builder : ((context, snapshot){
          if (!snapshot.hasData) {
           return  Loading();
          }

          int cardamount = snapshot.data['btncount'];

          List<bool> cardsValue = [snapshot.data['device1'], snapshot.data['device2'], snapshot.data['device3']];

          return FutureBuilder<QuerySnapshot>(
            future: Firestore.instance.collection('dadosusuarios').document(user.uid).collection('buttons').getDocuments(),
            builder: (context, snapshotsub) {
              if (!snapshot.hasData) {
                return  Loading();
              }



              return Scaffold(

我正在StreamBuilder中使用Future Builder来获取我的子集合信息。 这是我的子集合数据库的外观: col

1 个答案:

答案 0 :(得分:1)

未来的构建器应如下图所示:

FutureBuilder<QuerySnapshot>(
 future:Firestore.instance.collection('dadosusuarios').document(user.uid).collection('buttons').getDocuments(),
builder: (context, snapshotsub) {
if (!snapshot.hasData) {
    return  Loading();
}


// gets the list of documents form data
final documents = snapshotsub.data.documents;

for (var message in documents) {
    final btn1 = message.data['button1'];
    // more data filteration...
}

希望这对您有所帮助。快乐编码:)