【发布时间】:2020-08-15 03:22:24
【问题描述】:
首先我想使用.exist 方法检查特定文档ID 是否存在。如果存在,那么我想检查该文档 id containsValue == true 是否做其他事情。
目前,我正在使用 FutureBuilder 从 Firebase 获取详细信息,但它无法完美运行。
我附上了一张数据库的图片,其中包含一个带有 +91919982779295 的文档 ID 和一个设置为 true 的字段名称“已验证”。只想检查文档ID是否存在,如果存在则它包含值true,如代码的注释部分所示。
我猜这将通过.exist 和.containsValue 方法完成,但我不知道如何将它们放在FutureBuilder 中
这是我的代码:
import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'dart:async';
class Navigatorpage extends StatefulWidget {
var phoneNumber;
Navigatorpage({this.phoneNumber});
@override
_NavigatorpageState createState() => _NavigatorpageState();
}
class _NavigatorpageState extends State<Navigatorpage> {
var phoneNumber;
final Firestore firestore = Firestore.instance;
_NavigatorpageState({this.phoneNumber});
Future<DocumentSnapshot> getDetails() =>firestore.collection('users').document(+919982779295).get();
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: FutureBuilder(
future: Future.wait([
getDetails()
]),
builder: (context, snapshot){
Here first need to check
if( the documentId named +919982779295 exists){
if( if exits then check whether it contains the value true as show in the image using
containsValue method)
{ return something;}
else { return something;}
}
else {return something;}
}
},
),
);
}
}
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore