如何在地图列表中为每个地图添加元素?

时间:2020-06-29 09:08:31

标签: firebase flutter dart google-cloud-firestore

我将每个Firestore文档的数据存储到一个列表中,但我也想将文档ID与该数据一起存储。

List<DocumentSnapshot> documentSnapshotsList =
                    querySnapshot.data.documents;

//Convert document snapshots list into a list of variations
List<Map> variationsData = documentSnapshotsList
                        .map((element) => element.data)
                        .toList();

但是我不知道如何编辑List<Map>中的每个元素。我确实知道可以通过DocumentSnapshot访问该文档ID。

如果您有想法,请随时分享更好的方法。

2 个答案:

答案 0 :(得分:1)

我能够使用下面的代码来做到这一点:

List < DocumentSnapshot > documentSnapshotsList =
    querySnapshot.data.documents;

//Convert document snapshots list into a list of variations
List < Map > variationsData =
    documentSnapshotsList.map((element) {
        Map tempMap = element.data;
        tempMap['variationDocumentId'] = element.documentID;
        return tempMap;
    }).toList();

答案 1 :(得分:0)

这很简单,

List<Map> variationsData = documentSnapshotsList
    .map((element) => {
        "id": element.id, 
        "key1": element.data["key1"], //customize your map accordingly
    }).toList();