我必须使用事务来设置和更新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版本中执行此操作,或者这是一个错误并且尚未实现?
答案 0 :(得分:1)
看着API documentation,似乎没有transaction.set()的变体接受类似于SetOptions
的东西。您可能需要send feedback。