Where i am going wrong it shows error whenever i try to read data from my firestore.[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, Invalid document reference. Document references must have an even number of segments, but users has 1, null) The code is :
bool hasData = false;
String number;
var val;
final usersRef = Firestore.instance.collection('users');
@override
void initState() {
this.number = '';
FirebaseAuth.instance.currentUser().then((value) {
setState(() {
val = value;
this.number = value.phoneNumber;
});
}).catchError((e) {
print(e);
});
checkData();
super.initState();
}
checkData() async {
DocumentSnapshot doc = await usersRef.document(this.number).get();
if (doc.exists) {
setState(() {
hasData = true;
});
} else {
setState(() {
hasData = false;
});
}
}
The error is:
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): Failed to handle method call
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): java.lang.IllegalArgumentException: Invalid document reference. Document references must have an even number of segments, but users has 1
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at com.google.firebase.firestore.DocumentReference.forPath(com.google.firebase:firebase-firestore@@21.3.0:80)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at com.google.firebase.firestore.FirebaseFirestore.document(com.google.firebase:firebase-firestore@@21.3.0:249)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at io.flutter.plugins.firebase.cloudfirestore.CloudFirestorePlugin.getDocumentReference(CloudFirestorePlugin.java:115)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at io.flutter.plugins.firebase.cloudfirestore.CloudFirestorePlugin.onMethodCall(CloudFirestorePlugin.java:890)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:226)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:631)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at android.os.MessageQueue.next(MessageQueue.java:326)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at android.os.Looper.loop(Looper.java:160)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at android.app.ActivityThread.main(ActivityThread.java:6762)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 4166): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/flutter ( 4166): **[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, Invalid document reference. Document references must have an even number of segments, but users has 1, null)**
E/flutter ( 4166): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
E/flutter ( 4166): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:156:18)
E/flutter ( 4166): <asynchronous suspension>
E/flutter ( 4166): #2 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
E/flutter ( 4166): #3 MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:356:48)
E/flutter ( 4166): #4 MethodChannelDocumentReference.get (package:cloud_firestore_platform_interface/src/method_channel/method_channel_document_reference.dart:56:46)
E/flutter ( 4166): #5 DocumentReference.get (package:cloud_firestore/src/document_reference.dart:69:47)
E/flutter ( 4166): #6 _CreateUserState.checkData (package:knowledgehub/createuser.dart:36:65)
E/flutter ( 4166): #7 _CreateUserState.initState (package:knowledgehub/createuser.dart:31:5)
E/flutter ( 4166): #8 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4640:58)
E/flutter ( 4166): #9 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5)
E/flutter ( 4166): #10 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
E/flutter ( 4166): #11 Element.updateChild (package:flutter/src/widgets/framework.dart:3211:20)
E/flutter ( 4166): #12 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter ( 4166): #13 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11)
E/flutter ( 4166): #14 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter ( 4166): #15 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2627:33)
E/flutter ( 4166): #16 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:883:20)
E/flutter ( 4166): #17 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:284:5)
E/flutter ( 4166): #18 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1113:15)
E/flutter ( 4166): #19 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1052:9)
E/flutter ( 4166): #20 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:968:5)
E/flutter ( 4166): #21 _rootRun (dart:async/zone.dart:1184:13)
E/flutter ( 4166): #22 _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter ( 4166): #23 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter ( 4166): #24 _invoke (dart:ui/hooks.dart:261:10)
E/flutter ( 4166): #25 _drawFrame (dart:ui/hooks.dart:219:3)
E/flutter ( 4166):
I/flutter ( 4166): +91xxxxxxxxxx
W/IInputConnectionWrapper( 4166): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper( 4166): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper( 4166): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper( 4166): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper( 4166): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper( 4166): getTextAfterCursor on inactive InputConnection
I/flutter ( 4166): Suraj Jha
W/co.knowledgehu( 4166): Accessing hidden field Ljava/nio/Buffer;->address:J (light greylist, reflection)
W/co.knowledgehu( 4166): Accessing hidden field Ljava/net/Socket;->impl:Ljava/net/SocketImpl; (light greylist, reflection)
W/co.knowledgehu( 4166): Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (light greylist, linking)
W/co.knowledgehu( 4166): Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V (light greylist, linking)
W/co.knowledgehu( 4166): Accessing hidden field Ljava/io/FileDescriptor;->descriptor:I (light greylist, JNI)
W/co.knowledgehu( 4166): Accessing hidden method Ljava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V (light greylist, reflection)
W/co.knowledgehu( 4166): Accessing hidden method Ldalvik/system/BlockGuard;->getThreadPolicy()Ldalvik/system/BlockGuard$Policy; (light greylist, linking)
W/co.knowledgehu( 4166): Accessing hidden method Ldalvik/system/BlockGuard$Policy;->onNetwork()V (light greylist, linking)
I/flutter ( 4166): Instance of 'User'
W/co.knowledgehu( 4166): Accessing hidden method Ldalvik/system/CloseGuard;->close()V (light greylist, linking)
W/co.knowledgehu( 4166): Accessing hidden method Ldalvik/system/CloseGuard;->warnIfOpen()V (light greylist, linking)