我需要从我的文档的“公告”集合中检索一个文档。集合中的每个文档都被命名为一年中的某一天,例如“ 2020-07-02”。我想检索当天的文档。在文档中,我需要访问一个名为“详细信息”的地图数组,其中包含各种公告。如何将其写入我的应用程序?这是我目前正在做的事情,但我不知道从那里去哪里。
Future getAnnouncements() async {
var currentDate = DateFormat("yyyy-MM-dd").format(DateTime.now());
var firestore = Firestore.instance;
Stream<DocumentSnapshot> qn = firerestore.collection('announcements').document(currentDate).snapshots();
return qn; //I want to only return the map array of the various documents
}
答案 0 :(得分:2)
尝试一下
Future getAnnouncements() async {
var currentDate = DateFormat("yyyy-MM-dd").format(DateTime.now());
var firestore = Firestore.instance;
Future<DocumentSnapshot> qn = await firerestore.collection('announcements')
.document(currentDate)
.get();
return List<Map>.castFrom(qn["details"]);
}
要解析返回的List
,可以尝试
List<Map> retrievedData = await getAnnouncements();
for(int i = 0; i < retrievedData.length; i++)
{
print(retrievedData[i]["title"]);
print(retrievedData[i]["text"]); // Thanks @VLXU
}