【问题标题】:AWS Amplify How limit the result of observeQueryAWS Amplify 如何限制 observeQuery 的结果
【发布时间】:2021-11-25 14:09:23
【问题描述】:

我使用了 AWS Amplify 数据存储,并使用 Amplify.DataStore.query() api 发出了一些 Graphql 请求。
我注意到,在使用 Amplify.DataStore.observeQuery() 时,我无法对我的请求设置一些限制,它会获取所有数据库元素......使用 Amplify.DataStore.query() 时,我可以。

如何限制只观看表格最后 10 项的更新?

这是我的代码:

 Stream<QuerySnapshot<Actuality>> getActualityStream() {
    return Amplify.DataStore.observeQuery(
      Actuality.classType,
      sortBy: [
        Actuality.DATE.descending(),
      ],
    );
  }

【问题讨论】:

    标签: flutter aws-amplify


    【解决方案1】:

    这实际上比您想象的要容易得多。 https://docs.amplify.aws/lib/datastore/data-access/q/platform/flutter/#predicates 的文档清楚地显示了您可以使用的谓词。 示例代码:

    late Stream<QuerySnapshot<Jobs>> streamJobs;
     void initState() {
        super.initState();
        streamJobs =
            Amplify.DataStore.observeQuery(Jobs.classType,
                where: Jobs.USERID.contains(widget.userId));
    }
    

    至于只带回一些信息的要求。据我所知,你有两个选择。要么生成一个可以计算并调用的字段 "where: ElementType.ID.between(1, 5)" 动态检查长度 -10。否则你可以尝试分页。不确定过去。放大是相当新的。

    【讨论】:

    • 那没有回答我的问题:/
    • 添加了一些想法
    猜你喜欢
    • 2020-08-22
    • 2020-08-19
    • 1970-01-01
    • 2022-06-21
    • 2022-10-15
    • 2021-04-02
    • 2011-06-27
    • 2018-08-24
    • 1970-01-01
    相关资源
    最近更新 更多