我有QuerySnapshot方法,它从firebase获取一些数据:

  getBookings(AsyncSnapshot<QuerySnapshot> snapshot) {
return snapshot.data.docs
    .map((doc) => CalendarBookingBlock(
          bookingName: doc.data()['bookingName'],
          bookingTime: doc.data()['bookingData'],
        ))
    .toList();
}
但是我必须使用DocumentSnapshot。当我尝试它时,没有为'DocumentSnapshot'类型定义snapshot.data.docs。我应该怎么做才能解决这个问题?

最佳答案

DocumentSnapshot表示单个文档。它不包含其他文件,例如QuerySnapshot。在documentation中有查询单个文档的示例。通常情况如下:

if (snapshot.exists) {
    Map<String, dynamic> data = snapshot.data();
    // document fields are in data
}
else {
    // decide what you want to do if the document doesn't exist
}

关于firebase - 如何使用DocumentSnapshot而不是QuerySnapshot?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64297800/

10-12 00:08
查看更多