如何使用flutter在Firestore中的文档中添加地图?

时间:2020-07-03 00:21:25

标签: firebase flutter google-cloud-firestore

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

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数据库看起来像这样:

enter image description here 如何增加数组的大小,或者可以说如何在数组内添加新元素而不是替换它。预先感谢。

1 个答案:

答案 0 :(得分:2)

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