Firebase 在事务中删除Firestore节点
当我使用下面的代码添加到文档中时,只要我保持在同一屏幕上,我就能够成功地将其他对象添加到数组中Firebase 在事务中删除Firestore节点,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,当我使用下面的代码添加到文档中时,只要我保持在同一屏幕上,我就能够成功地将其他对象添加到数组中 void createRecord(dataMap) async { _user = await FirebaseAuth.instance.currentUser(); var createTransaction = (Transaction tx) async { var ds = await tx.get(db .collection('use
void createRecord(dataMap) async {
_user = await FirebaseAuth.instance.currentUser();
var createTransaction = (Transaction tx) async {
var ds = await tx.get(db
.collection('users')
.document(_user.uid)
.collection("days")
.document(DateFormat("yyyy-MM-dd").format(dataMap['day'])));
await tx.set(ds.reference, dataMap);
};
Firestore.instance.runTransaction(createTransaction);
}
在离开屏幕导航后,当尝试添加新对象时,所有对象都将被删除。
当我从屏幕返回时,如何在不删除旧对象的情况下向集合添加新对象
谢谢。要向阵列中添加新的、唯一的项,您可以使用 比如:
await tx.update(ds.reference, {
'breakfast': FieldValue.arrayUnion(dataMap['breakfast'][0])
});
另见: