无法将交易集与SetOptions合并

时间:2019-07-25 13:21:58

标签: firebase flutter dart google-cloud-firestore

我必须使用事务来设置和更新Firestore中的某些数据。如果旧数据已经存在,我想合并新数据。如果没有交易,这是可能的,但是即使有交易,我也似乎无法做到。

从Flutter Firestore实现中,我可以看到以下文档:

/// Writes to the document referred to by the provided [DocumentReference].
/// If the document does not exist yet, it will be created. If you pass
/// SetOptions, the provided data can be merged into the existing document.
  Future<void> set(
  ///.....

我已经搜索过SetOptions类,并且它在理论上确实存在(https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/SetOptions),但是我似乎找不到它的任何Flutter示例,并且它似乎不存在于lib的Flutter版本,也不是此方法的参数。

这是我当前的交易电话:

  transaction.set(doc.reference, {
    "liked": FieldValue.arrayUnion([entryInfo.id]),
  });

是否可以在Flutter的Firestore版本中执行此操作,或者这是一个错误并且尚未实现?

1 个答案:

答案 0 :(得分:1)

看着API documentation,似乎没有transaction.set()的变体接受类似于SetOptions的东西。您可能需要send feedback