相关疑难解决方法(0)

从Flutter中的Firestore查询单个文档(cloud_firestore插件)

我只想通过其ID 检索单个文档的数据。我的示例数据方法:

TESTID1 {
     'name': 'example', 
     'data': 'sample data',
}
Run Code Online (Sandbox Code Playgroud)

是这样的:

Firestore.instance.document('TESTID1').get() => then(function(document) {
    print(document('name'));
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不是正确的语法。

我找不到有关在flutter(飞镖)中查询firestore的任何详细文档,因为firebase文档仅解决了本机WEB,iOS,Android等问题,而没有解决Flutter。cloud_firestore的文档也太短了。只有一个示例显示了如何将多个文档查询到流中,这不是我想要的。

有关缺少文档的相关问题:https : //github.com/flutter/flutter/issues/14324

从单个文档中获取数据并不难。

更新:

Firestore.instance.collection('COLLECTION').document('ID')
.get().then((DocumentSnapshot) =>
      print(DocumentSnapshot.data['key'].toString());
);
Run Code Online (Sandbox Code Playgroud)

不执行。

querying dart firebase flutter google-cloud-firestore

12
推荐指数
5
解决办法
1万
查看次数

flutter/firebase 数据库中的一个简单的 where 子句

今天我开始尝试 Firebase Live 数据库。也许我在sql方面想得太多了。但我想要做的是从我的数据库中获取一条记录,其中值等于带有颤振的变量。我的桌子看起来像这样:

在此输入图像描述

我想要实现的是这样的:

FirebaseDatabase.instance.reference().child('users').where('User_id', 1508)
Run Code Online (Sandbox Code Playgroud)

就像我说的。对于实时数据库,我是一个完全的初学者。我希望有人可以帮助我解决我遇到的这个问题。

亲切的问候,纳马尼克斯

firebase firebase-realtime-database flutter

10
推荐指数
2
解决办法
2万
查看次数

Flutter Firestore 如何监听对一个文档的更改

我只想在 ONE 文档更改或更新时收到通知。每个获取更新的示例总是使用集合。我试图只使用一个文档来实现它,但它永远不会得到任何更新。这是我现在所拥有的不起作用的东西:

@override
Widget build(BuildContext context) {
StreamBuilder<DocumentSnapshot>(
    stream: Firestore.instance
        .collection("users")
        .document(widget.uid)
        .snapshots(),
    builder:
        (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {
      user = snapshot.data.data as User;
    });
Run Code Online (Sandbox Code Playgroud)

我已经调试了 100 次,但它永远不会进入“builder:”部分。顺便说一下,这不是文档引用的问题。我在这里做错了什么?

dart firebase flutter google-cloud-firestore

7
推荐指数
2
解决办法
1万
查看次数

Firebase Documentsnapshot 映射到 Flutter 中的 Json 对象

我正在尝试将 DocumentSnap 从 Firebase 映射到 Flutter 中的 Json 类。我可以确认我正在从文档中获取数据,但我无法将收集的数据传递给我的 Json 对象。我已附上代码和错误消息。

用于从 Firebase DatabaseService.dart 获取文档的类

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';

import 'package:oast_app/widgets/auth_class.dart';



class FireTest {
  Future<List<UserCheck>> streamUser(FirebaseUser user) async {
    DocumentSnapshot querySnapshot =
        await Firestore.instance.collection('users').document(user.uid).get();
    if (querySnapshot.exists) {
      print('success');
      print(querySnapshot.data['fname']);
      print(querySnapshot.data['lname']);

      querySnapshot.data.map<String, dynamic>((json) => UserCheck.fromJson(json)); **this is whats erroring**
    }
    return [];
  }
}
Run Code Online (Sandbox Code Playgroud)

Json 对象类

import 'package:flutter/material.dart';
import 'package:json_annotation/json_annotation.dart';

part 'auth_class.g.dart';

@JsonSerializable(nullable: false)
class UserCheck extends ChangeNotifier {
  final String uid;
  final String fName;
  final String lName;
  final String regEmail; …
Run Code Online (Sandbox Code Playgroud)

jsonserializer firebase flutter google-cloud-firestore

6
推荐指数
1
解决办法
2万
查看次数

如何从firestore flutter中读取数据

我想从列表块中的 Firestore 读取数据我不想使用流构建器我想单独访问文档字段我尝试这个但不起作用

class ProductList extends StatelessWidget {


  Stream<DocumentSnapshot> snapshot =  Firestore.instance.collection("listofprods").document('ac1').snapshots();


  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(),
        body: Padding(
          padding: const EdgeInsets.all(8.0),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.start,
            children: <Widget>[
              Container(
                decoration: BoxDecoration(
                  border: Border.all(color: Colors.black)
                ),
                child: ListTile(
                      title: Text(snapshot['name']),//here error
                ),
              )
            ],
Run Code Online (Sandbox Code Playgroud)

dart firebase flutter google-cloud-firestore

6
推荐指数
2
解决办法
3万
查看次数

Flutter 中如何获取、设置、更新和删除云 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)

dart firebase flutter google-cloud-firestore

5
推荐指数
2
解决办法
2万
查看次数

Flutter从QuerySnapshot转换为将来的&lt;List &lt;Map &lt;dynamic &lt;dynamic,dynamic &gt;&gt;&gt;

如何返回QuerySnapshot作为Future >>?

程式码片段:

Future <List<Map<dynamic, dynamic>>>() {
List<Map<dynamic,dynamic>> list;
.....

.....
QuerySnapshot collectionSnapshot = await collectionRef.getDocuments();

list = collectionSnapshot.documents;  <--- ERROR
return list;

}
Run Code Online (Sandbox Code Playgroud)

我认为我需要使用的Map,但无法绕开它。

dictionary dart firebase flutter google-cloud-firestore

3
推荐指数
1
解决办法
4067
查看次数

如何从cloud firestore获取数据,其中user.uid等于flutter中的文档ID?

我有这个显示用户信息的配置文件屏幕。用户通过身份验证后,我将数据存储在云 Firestore 中,文档 ID 等于用户 ID。现在,我想从 cloud firestore 中检索数据,当前 userId 等于文档 id。

在此处输入图片说明

现在我有这个:

class UserManagement {
  getData() async{
    String userId = (await FirebaseAuth.instance.currentUser()).uid;
    print(userId);
    return Firestore.instance.collection('users').document(userId);

  }
Run Code Online (Sandbox Code Playgroud)

但是当我注销并使用其他用户重新登录后,它无法正常工作,它显示相同的数据。

UserManagement().getData().then((results) {
    setState(() {
      userFlag = true;
       users = results;
    });
    });
Run Code Online (Sandbox Code Playgroud)

现在,如何获取其他字段,如姓名、电子邮件、课程、电话号码等,以及所有存储到 user.right 中的所有值?

dart firebase firebase-authentication flutter google-cloud-firestore

3
推荐指数
1
解决办法
7536
查看次数