AWS Amplify DataStore过滤失效:调用gt方法报TypeError错误
解决AWS Amplify DataStore查询时
c.price.gt is not a function错误 检查Product模型的price字段类型
这个错误大概率是因为你的Product模型中price字段定义的不是数值类型(比如Int、Float、Double),而是String类型。非数值类型的字段没有gt()这类比较谓词方法。
打开你的GraphQL schema文件,确保price字段的类型是数值型,比如:type Product @model { id: ID! price: Float! # 其他字段... }重新生成DataStore模型
如果schema已经修正,或者你不确定模型是否正确生成,运行以下命令重新生成客户端模型代码:amplify codegen models这会确保生成的Product类中,price字段带有对应的谓词方法(比如gt、lt、eq等)。
验证查询写法
当模型正确后,你的查询写法是没问题的:DataStore.query(Product, c => c.price.gt(10))
如果以上步骤都完成后还是报错,检查是否有其他代码干扰(比如自定义了模型类、导入错误),或者确认Amplify CLI和依赖包的版本是否匹配(避免版本不兼容导致的方法缺失)。
内容的提问来源于stack exchange,提问作者iskandar47
相关产品推荐
相关产品推荐

