我正在使用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查询,请执行某项操作
答案 0 :(得分:0)
要更新现有文档,请执行以下操作:myDocument.setData(myMap, merge: true);