前提
FlutterとFirebaseとの連携パートは省いています!
バージョンは下記の通り
pubspec.yaml
dependencies:
flutter:
sdk: flutter
firebase_core: "0.7.0"
cloud_firestore: "^0.16.0+1"
ドキュメントのフィールドとは?
赤丸で囲った部分のことです。
コレクション>ドキュメント>フィールド
という具合にデータが格納されているイメージ
Firestoreからドキュメントのフィールドを取得する
import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
// 省略
fetchUserData() async {
final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
final FirebaseFirestore _firestore = FirebaseFirestore.instance;
final userId = _firebaseAuth.currentUser.uid;
DocumentSnapshot snapshot = await _firestore.doc('users/${userId}').get();
print(snapshot.data()['email']);
return snapshot.data();
}
@override
Widget build(BuildContext context) {
// 省略
TextButton(
onPressed: fetchUserData, child: Text('取得!')),
}
上記のコードの場合、emailのみ取得します。
print(snapshot.data());
上記のコードの場合、全てのフィールドを取得します
こういうことって、何気に公式ドキュメントを読んでもわからなかったりするので。。。。