能否基于Flutter模型自动在Firebase生成字段键,无需手动逐个添加?
答案
完全可以不用手动逐个添加字段键,你现有的模型类已经适配了自动映射的能力,按以下两种场景操作即可:
场景1:写入数据时自动生成字段
你写的CategoriesModel类已经实现了toJson()方法,往Firestore写入/更新数据时,直接实例化模型类后调用该方法传入即可,所有字段的键会自动生成,无需手动逐个编写:
// 示例代码 final newCategory = CategoriesModel( id: "001", name: "数码产品", order: "1", photo: "xxx.png", title: "数码专区" ); // 直接传入toJson()返回的Map即可,Firestore会自动生成对应字段 await FirebaseFirestore.instance.collection("categories").doc("001").set(newCategory.toJson());
场景2:提前在Firebase控制台生成字段结构
如果你需要先在控制台建好字段模板再写入数据,可以用以下两个方法跳过手动加键的步骤:
- 本地跑测试代码,写入一个默认值的模型实例到测试集合,Firestore控制台会自动生成所有字段和对应类型,后续你直接修改字段值或者把结构复制到正式集合即可
- 直接复制
toJson()方法中的键值结构,导出为JSON文件后直接导入Firestore集合,也能批量生成所有字段
注意事项
后续修改模型类的字段时,记得同步更新fromJson和toJson方法里的键名,避免出现字段匹配错误的问题。
内容的提问来源于stack exchange,提问作者Petro
相关产品推荐
相关产品推荐

