Я получаю это исключение при создании документа в транзакции Firestore с использованием пакета Flutter cloud_firestore:
PlatformException(Error performing transaction, Every document read in a transaction must also be written., null)
Это код:
DocumentSnapshot postSnapshot = await tx.get(post.reference);
await tx.set(Firestore.instance.collection('users').document(userId).collection('stars').
document(),docNew);
await tx.update(postSnapshot.reference, stockUpdate);
Ниже приведены сведения об исключении:
E/flutter ( 7157): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(Error performing transaction, Every document read in a transaction must also be written., null)
E/flutter ( 7157): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
E/flutter ( 7157): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)
E/flutter ( 7157): <asynchronous suspension>
E/flutter ( 7157): #2 MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:349:48)
E/flutter ( 7157): #3 MethodChannelFirestore.runTransaction (package:cloud_firestore_platform_interface/src/method_channel/method_channel_firestore.dart:123:10)
E/flutter ( 7157): #4 Firestore.runTransaction (package:cloud_firestore/src/firestore.dart:85:22)
Как вы видите в коде, я пытаюсь создать do c в одной коллекции и обновить поле в другом документе.
Есть подсказки для отладки этого? Спасибо.