Flutter 中如何获取、设置、更新和删除云 Firestore 中的数据?

Shr*_*rma 5 dart firebase flutter google-cloud-firestore

我尝试了一些代码但得到了一个例外。

我得到的例外: java.lang.IllegalArgumentException: Invalid document reference. Document references must have an even number of segments, but Users has 1

我搜索了一下,根据这个,文档引用必须有偶数个段,如:集合 - 文档 - 集合 - 文档 - 集合 - 文档

从 Firestore 获取数据的查询:

String getIsNewUSer;
Firestore.instance.collection('Users').document(uid).get().then((DocumentSnapshot document){
       print("document_build:$document");
        setState(() {
         getIsNewUSer=document['IsNewUser'];
         print("getIsNewUSe:$getIsNewUSer");
        });

    });

Run Code Online (Sandbox Code Playgroud)

查询将数据更新到 Firestore:

Firestore.instance
            .collection('Users')
            .document(uid)
            .updateData({
              "IsNewUser":"1"
            }).then((result){
              print("new USer true");
            }).catchError((onError){
             print("onError");
            });
Run Code Online (Sandbox Code Playgroud)

我的这些代码行超出了异常。

初始状态:

 void initState()  {
    super.initState();
    this.uid = '';

FirebaseAuth.instance.currentUser().then((val){
      setState(() {
      this.uid= val.uid; 
       print("uid_init: $uid");
      });
   });

}
Run Code Online (Sandbox Code Playgroud)

我做错了吗???????

Cop*_*oad 16

空安全代码:


小智 5

在您的查询中替换此部分:

Firestore.instance.collection('Users').document(uid)
Run Code Online (Sandbox Code Playgroud)

Firestore.instance.document('Users/$uid')
Run Code Online (Sandbox Code Playgroud)

收藏-文档-收藏-文档-收藏-文档

基本上你已经有了答案。