Я новичок во Flutter и Firestore, и у меня возникла проблема с транзакцией для обновления существующего документа.
Вот мой код
RaisedButton(
onPressed: () {
Firestore.instance
.runTransaction((trans) async {
DocumentSnapshot document =
await trans.get(rideReference);
await trans.update(document.reference,
{'status': 'ABORTED'});
setState(() => rideReference = null);
});
},
color: Colors.black54,
splashColor: Colors.red,
child: Text(
"Do something here",
style: TextStyle(color: Colors.white),
),
),
Данные просто не будут обновляться, отладчик внутри обратного вызова транзакции не вызывается.
Когда я не использую транзакцию и использую обновление непосредственно в rideReference, документ обновляется, но вместо обновления поля статуса он создает новое поле с именем status (поэтому документ имеет статус поля дважды).