😇
Flutter Firebase データの様々な取得方法
初めに
flutterでfirebaseのfirestoreからデータを取得する際の取得方法を一部記述します。
データの取得方法
前提のコード
//Firestoreインスタンスの作成と代入
static final FirebaseFirestore _firestore = FirebaseFirestore.instance;
//firebase上のコレクションへのアクセス(変数名を _users にしているが、自由に決める)
static final CollectionReference _users = _firestore.collection('コレクション名');
これ以降のコードは _users
で進めていきますが、上記の「コレクションへのアクセスの部分で決めた変数」に置き換えてください。
以後のコードに出てくる_userStream
も好きな変数名でOKです
全て取得
final Stream<QuerySnapshot> _userStream = _users.snapshots();
where: 指定の値のみを取得
例:nameの値を指定して取得する場合
final Stream<QuerySnapshot> _userStream = _users.where('name', isEqualTo: '指定の値').snapshots();
where: 指定の数値より小さい値のデータのみを取得
例:ageが25より小さい値のデータだけを取得
final Stream<QuerySnapshot> _userStream = _users.where('age', isLessThan: 25).snapshots();
limit: 指定の個数だけ取得(登録の新しい順から)
例:登録が新しい順に2つだけデータを取得
final Stream<QuerySnapshot> _userStream = _users.limit(2).snapshots();
orderBy(並び替え): 昇順に並び替えて取得
数値の小さい順に上から並べる
文字列だったとしても数値が入っていれば適応可能
final Stream<QuerySnapshot> _userStream = _users.orderBy('age').snapshots();
orderBy(並び替え): 降順に並び替えて取得
数値の大きい順に上から並べる
文字列だったとしても数値が入っていれば適応可能
final Stream<QuerySnapshot> _userStream = _users.orderBy('age', descending: true).snapshots();
終わりに
Twitterでも情報発信しておりますので、ぜひフォローお願い致します!
Discussion