首页 > 解决方案 > 如何使用颤振在 Firestore 中的文档内添加地图?

问题描述

我在firestore文档中使用数组内的地图。问题是,当我添加具有新值的地图时,它不是增加数组的大小,而是用当前地图替换新地图。我的代码如下所示:

Map<String, dynamic> map = {'name': "Asad"};

RaisedButton(
    child: Text("press me"),
    onPressed: () {
      Firestore.instance.collection('Shops').document('2').setData({
        'name': 'Ali',
        'id': '3',
        'array': FieldValue.arrayUnion([map])
      });
    },
  ),

我的 Firestore 数据库如下所示:

在此处输入图像描述 如何增加数组的大小,或者您可以说如何在数组中添加新元素而不是替换它。提前致谢。

标签: firebasefluttergoogle-cloud-firestore

解决方案


如果要更新文档而不是覆盖其内容,则应使用updateData()而不是 setData()。要么,要么传递{merge: true}setData()作为第二个参数。


推荐阅读