【发布时间】:2021-10-07 10:53:18
【问题描述】:
我最近开始了一个颤振项目,并将一些旧的 firebase 代码迁移到新的。然后我更新了 firebase 并修复了大部分错误,直到这个问题难倒了我。
final firestore = FirebaseFirestore.instance; //
FirebaseAuth auth = FirebaseAuth.instance;
Future<bool?> addPlastic(String amount) async {
try {
String uid = auth.currentUser!.uid;
var value = double.parse(amount);
DocumentReference documentReference =
FirebaseFirestore.instance.collection('Users').doc(uid);
FirebaseFirestore.instance.runTransaction((transaction) async {
DocumentSnapshot snapshot = await transaction.get(documentReference);
if (!snapshot.exists) {
documentReference.set({'plasticsCollected': value});
return true;
}
double newAmount = snapshot.data()!['plasticsCollected'] + value;
transaction.update(documentReference, {'plasticsCollected': newAmount});
return true;
});
} catch (e) {
return false;
}
}
这是我收到错误“未为类型 'Object?Function()' 定义运算符'[]'。尝试定义运算符'[]'。”
double newAmount = snapshot.data()!['plasticsCollected'] + value;
我做错了什么?
【问题讨论】:
标签: firebase flutter google-cloud-firestore