Get a single document from a Firebase Cloud Firestore collection and convert the results to a concrete model.
import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
class FirebaseFirestoreGetDocument extends StatelessWidget {
final firestoreInstance = FirebaseFirestore.instance;
Future getDocument() async {
print("getDocument");
//assume there is a collection called "users"
var uid = "123123123123123123"; //the unique user id/document id
firestoreInstance.collection("users").doc(uid).get().then((querySnapshot) {
print("result");
print(querySnapshot.data());
//convert the result to a model
var userModel = new UserModel();
userModel.fromMap(uid, querySnapshot.data());
print(userModel.getId());
print(userModel.name);
});
}
@override
Widget build(BuildContext context) {
getDocument();
return new MaterialApp(
home: Container(
child: Text("running tests"),
));
}
}
class UserModel {
String _id = "";
String name;
UserModel({this.name});
void fromMap(String id, Map map) {
this._id = id;
this.name = map["name"];
}
String getId() {
return this._id;
}
}