Flutter 如何向现有地图存储添加元素

Flutter 如何向现有地图存储添加元素,flutter,dart,google-cloud-firestore,Flutter,Dart,Google Cloud Firestore,我正在使用Flatter和firebase进行一些工作,因此我不知道如何将新元素添加到现有文档中,因为现有文档中有一些已创建的字段,所以。。例如,地图就是这样 'Users':{uid0:{'Name':{'userName0'},uid1:{'Name':{'userName1'}} 这是我的实际代码 Firestore.instance.collection('on_going_matches').where('userSlot',isGreaterThan: 0).snapshots()

我正在使用Flatter和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',大于:0)”
时我能做什么,我如何像if/else语句一样使用它,所以,如果找不到Firestore查询,就做一件事。

要更新现有文档:
myDocument.setData(myMap,merge:true)

更新现有文档:myDocument.setData(myMap,merge:true);是的,谢谢,我试着用交易做这个。。。但我意识到我没法听到这些。请向上投我的awnser:)