如何将元素添加到现有的地图Firestore

时间:2019-07-08 06:00:17

标签: flutter dart google-cloud-firestore

我正在使用flutter和firebase进行一些工作,因此我无法弄清楚如何向现有文档添加新元素,而现有文档具有已创建字段的现有地图,因此。例如,该地图是

'Users':{uid0:{'Name':{'userName0'},uid1:{'Name':{'userName1'}}

这是我的实际代码。

Firestore.instance.collection('on_going_matches').where('userSlot',isGreaterThan: 0).snapshots().listen(
          (data) => {
              Firestore.instance.runTransaction((transaction) async {
                await transaction.update(Firestore.instance.collection("on_going_matches").document(data.documents[0].documentID), {
                  'users': {uid:{'Name':name}},
                  'userSlot': data.documents[0]['userSlot'] - 1
                }
                );
              })
              });

我也有另一个问题,当找不到“ where”条件"where('userSlot',isGreaterThan: 0)"时该怎么办,我如何像if / else语句那样使用它,所以,如果找不到Firestore查询,请执行某项操作

1 个答案:

答案 0 :(得分:0)

要更新现有文档,请执行以下操作:myDocument.setData(myMap, merge: true);