大家好,当我尝试声明Firestore实例时,他给出了这个错误! 我将Flutter升级到最新版本后,所有事情都会发生
最终数据库参考= Firestore.instance;
我使用
cloud_firestore: ^0.14.0
答案 0 :(得分:3)
cloud_firestore
版本0.14.0开始:在最新版本的cloud_firestore
中,不推荐使用类Firestore
,现在您必须使用FirebaseFirestore
,所以只需执行以下操作:
导入软件包:
import 'package:cloud_firestore/cloud_firestore.dart'
要创建实例:
final databaseReference = FirebaseFirestore.instance;
No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp() in Flutter and Firebase
答案 1 :(得分:2)
Cloud_firestore 0.14.0版具有以下更改: 导入软件包:
import 'package:firebase_auth/firebase_auth.dart';
FirebaseUser不再可用。要声明Firebase用户,请使用以下命令; //用户,
要声明Firebase实例,请使用:
final firebaseInstance= FirebaseFirestore.instance;
而不是调用.document(uid),请使用:
.doc(uid)
例如:
await db
.collection(Str.USERS_MESSAGE_LIST)
.document(uid)
.collection(Str.MESSAGE_COLLECTION)
.document("$itemId$sellerId")
.setData({...
将变为:
await db
.collection(Str.USERS_MESSAGE_LIST)
.doc(uid)//note this
.collection(Str.MESSAGE_COLLECTION)
.document("$itemId$sellerId")
.set({//note this
Similary用于其他查询,例如,使用.data()而不是.data([]}
.startAfter([lastDocument.data[Str.ITEM_NAME]]).limit(perPage);
将重写为:
.startAfter([lastDocument.data()[Str.ITEM_NAME]]).limit(perPage);//note the () after data
对于用户:使用:
User user = FirebaseAuth.instance.currentUser;
以及其他许多更改-请参阅Firestore / Firebase官方文档