我基本上是在FirebaseFirestore上尝试CRUD,添加用户成功,但是删除和更新用户信息会引发错误:
代码库非常简单。 add()正常工作,但update()和delete()没有显示 预期的结果。
我的代码:
添加用户方法-
addUser() {
User user = User(name: controller.text );
try {
FirebaseFirestore.instance.runTransaction((transaction) async{
await FirebaseFirestore.instance.collection(CollectionName).doc().set(user.toJson());
},);
}catch(e){
print(e.toString());
}
}
add(){
if(isEditing){
update(curUser, controller.text);
setState(() {
isEditing = false;
});
}else{
addUser();
}
controller.text = '';
}
删除UserRecord-
delete(User user){
FirebaseFirestore.instance.runTransaction((transaction) async {
transaction.delete(user.reference);
},
);
}
更新记录-
update(User user, String newName) {
try {
FirebaseFirestore.instance.runTransaction((transaction) async {
await transaction.update(user.reference, {'name': newName});
});
} catch (e) {
print(e.toString());
}
}
我收到的错误:
════════ Exception caught by the gesture ═══════════════════════════════════════════════════════════════
Stack Overflow
════════════════════════════════════════════════════════════════════════════════════════════════════
W/h.crud_firebas( 5985): Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed)