AWS amplify graphql appsync - 不返回已删除的项目?

Bit*_*nny 9 amazon-web-services graphql aws-appsync aws-amplify

我将 AWS amplify 与 graphql 和 appsync 结合使用。当我执行标准列表查询时,appsync 在它返回的项目列表中包含已删除的项目。

我该怎么做才能让它只返回未删除的项目?

我尝试了这个查询,但它抛出一个错误:

query MyQuery($filter: ModelFrameFilterInput = {_deleted: {ne: true}}) {
  listFrames(filter: $filter) {
    items {
      _deleted
      name
      id
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

 "message": "Validation error of type BadValueForDefaultArg: Bad default value ObjectValue{objectFields=[ObjectField{name='_deleted', value=ObjectValue{objectFields=[ObjectField{name='ne', value=BooleanValue{value=true}}]}}]} for type ModelFrameFilterInput"
Run Code Online (Sandbox Code Playgroud)

小智 1

您可以做的一件事是禁用冲突解决程序,如果您没有必要的话,“删除使用冲突解决方案的元素后,它们不会立即从数据库中删除。相反,会添加两个标志:设置_deleted为 true 和_ttlis设置为该对象在 30 天后过期。” 请参阅:错误“冲突解决程序拒绝突变。” 当在放大中删除时

要禁用它,请运行amplify update api,系统将提示您选择禁用冲突解决程序

但如果您使用DataStore,则必须启用冲突解决程序。在那种情况下,我不知道如何解决。