为什么Firebase数据库(Firestore)不添加文档
我正在尝试使用以下内容添加usersData:为什么Firebase数据库(Firestore)不添加文档,firebase,flutter,dart,async-await,google-cloud-firestore,Firebase,Flutter,Dart,Async Await,Google Cloud Firestore,我正在尝试使用以下内容添加usersData: import 'package:cloud_firestore/cloud_firestore.dart'; class DatabaseService { final String uid; DatabaseService({this.uid}); // collection reference final CollectionReference nextCollection = Firestore.inst
import 'package:cloud_firestore/cloud_firestore.dart';
class DatabaseService {
final String uid;
DatabaseService({this.uid});
// collection reference
final CollectionReference nextCollection = Firestore.instance.collection('usersData');
Future updateUserData(String firstName, String lastName, String country) async{
return await nextCollection.document(uid).setData({
'firstName':firstName,
'lastName':lastName,
'country':country,
});
}
}
当用户注册时调用它:
Future register(String email, String pwd) async {
try {
AuthResult result = await _auth.createUserWithEmailAndPassword(email: email, password: pwd);
FirebaseUser user = result.user;
//Create new document for the user
await DatabaseService(uid: user.uid)
.updateUserData('Saad','AMRANI','laayoune');
return _userFromFireBaseUser(user);
}
catch (e)
{
print(e.toString());
return null;
}
}
用户注册成功,但usersData集合上uid为文档uniq键的初始数据无效
日志截图
公开发行
dependencies:
firebase_auth: ^0.14.0+5
cloud_firestore: ^0.12.9+4
应用程序build.gradle
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.nextconcept.nextMain"
minSdkVersion 16 //21
multiDexEnabled true //added
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//implementation 'com.google.firebase:firebase-analytics:17.2.0'
}
dependencies {
classpath 'com.google.gms:google-services:4.0.1'
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
根构建.gradle
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.nextconcept.nextMain"
minSdkVersion 16 //21
multiDexEnabled true //added
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//implementation 'com.google.firebase:firebase-analytics:17.2.0'
}
dependencies {
classpath 'com.google.gms:google-services:4.0.1'
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
您没有此集合的写入权限 请参阅管理云Firestore安全规则 要允许任何登录用户进行读写操作,请执行以下操作:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth.uid != null;
}
}
}
当发布到堆栈溢出时,请不要使用文本截图。相反,将文本复制到问题本身,以便更容易阅读和搜索。我们应该能够看到所有相关的信息,而无需点击其他页面。感谢您提供的信息。感谢它的工作。