Flutter Firebase Firestore和x27的类型安全实施;在哪里`
我正在编写一个类型安全构建器包来封装名为的Firestore原语。我目前正在用我自己的自定义Flutter Firebase Firestore和x27的类型安全实施;在哪里`,flutter,google-cloud-firestore,code-generation,Flutter,Google Cloud Firestore,Code Generation,我正在编写一个类型安全构建器包来封装名为的Firestore原语。我目前正在用我自己的自定义FireQuery.where包装一个文件,我希望它是完全类型安全的。Firestore其中有一个函数声明 querywhere( 动力场{ 动态等质量, 动态isNotEqualTo, 动态无孤岛, 动态Islessthan或Qualto, 动态比, 动力比质量更好, 动态排列内容, 列表?ArrayContainesAny, 列表?其中, 列表?不在哪里, 布尔?是空的, }) {/*...*/}
FireQuery.where
包装一个文件,我希望它是完全类型安全的。Firestore其中
有一个函数声明
querywhere(
动力场{
动态等质量,
动态isNotEqualTo,
动态无孤岛,
动态Islessthan或Qualto,
动态比,
动力比质量更好,
动态排列内容,
列表?ArrayContainesAny,
列表?其中,
列表?不在哪里,
布尔?是空的,
}) {/*...*/}
但当我围绕一个特定的模型或文档生成代码时,我知道所有可能的字段及其类型,所以我不希望任何内容是动态的。然而,我想不出一种方法来利用它,或者函数调用可能是什么样子
下面是一个考虑到我有一个用户文档的示例
类UserDoc{
最终积分;
最后的字符串城市;
UserDoc(this.age,this.city);
}
和一个用户查询:
///生成的代码
类UserQuery实现FireQuery{
// ...
用户查询在哪里(
//我知道唯一可能的领域是年龄和城市
//我希望比较器被输入到所选的字段中。
//
//例如,如果用户以某种方式选择了年龄,isEqualTo应该是isEqualTo
) {
//待办事项
}
}
你知道怎么做吗
编辑
我不赞成使用Firestore自带的带转换器的
,
,并得出了相同的结论,即如果没有分部类或api的重大突破性更改,这是不可能的您的第一个链接无法工作。你删除了这个项目吗
您正在引用的代码的动态部分可以适应您想要执行的任何查询。因此,如果用户选择年龄,您只需要以下信息:
CollectionReference colref=Firestore.instance
.收集(“用户收集”);
查询名称Query=colref.where('age',isqualto:'TheAgeYouWant');
它将自动设置为年龄值。使用FlatterFire代码的意义在于不必创建您自己的自定义查询,我认为它不会产生任何好处或优势。是的,该软件包被弃用,取而代之的是
with converter
s。这一变化背后的作者同意,如果作品中没有一些语言特征,目前就不可能有我所想的东西