我是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上使用update时,文档将得到更新,但是不是更新status字段,而是创建一个名为status的新字段(因此该文档的字段状态为两次)。