Flutter Firestore如何更新对象列表中的一个对象?

时间:2018-08-21 21:46:09

标签: firebase flutter google-cloud-firestore

我想删除(或更改)一个Firestore文档的对象列表中的一个特定对象。

是否可以直接直接进行tx.update(ref,objectlist.element)?

现在,我得到了文档快照,阅读了对象列表,对其进行了修改,然后tx.update整个对象列表。

Firestore.instance.runTransaction((Transaction tx) async {
  DocumentSnapshot postSnapshot = await tx.get(postRef);
  if (postSnapshot.exists) {
    Map<String, dynamic> myMap = Map.from(postSnapshot.data["objList"]);
    myMap.remove(something);

    await tx.update(postRef, <String, dynamic>{"objList": myMap}).then((x) {
      print("leaving document editor");
      _goBackToMain();
    });
  }
});

虽然可行,但我担心两个用户尝试同时更新同一对象列表时会发生冲突。

0 个答案:

没有答案