Flutter Firebase How to convert DocumentSnapshot to Model Json inside a model class

Viewed 1179

I have this Firebase Document that I want to convert to a JSON and add Id to it when using it within the app.

factory Recipe.fromDocument(DocumentSnapshot doc) {
    final data = doc.data()!;
    return Recipe.fromJson(data).copyWith(id: doc.id);
  }

I get the following error enter image description here

1 Answers

Try this

factory Recipe.fromDocument(DocumentSnapshot doc) {
    final data = doc.data()! as Map<String, dynamic>;
    return Recipe.fromJson(data).copyWith(id: doc.id);
  }

According to the FlutterFire usage documentation

DocumentSnapshot doc;
doc.data() is of type Map<String, dynamic>;
Related