Дми*_*кин 7 sorting schema amazon-web-services graphql aws-amplify
type Test @model @key(fields: ["id", "createdAt"]) {
id: ID!
name: String
createdAt: String!
}
Run Code Online (Sandbox Code Playgroud)
该模型创建了查询:
getTest(createdAt: String!id: ID!): Test
listTests(
createdAt: ModelStringKeyConditionInput
filter: ModelTestFilterInput
id: ID
limit: Int
nextToken: String
sortDirection: ModelSortDirection
): ModelTestConnection
Run Code Online (Sandbox Code Playgroud)
请求按日期排序的列表的方案应该是什么样的?
当@key指定多个字段时,第一个字段作为HASH键,后续字段作为SORT键。
https://aws-amplify.github.io/docs/cli-toolchain/graphql#key
可以列出具有相同 HASH 键的排序项。例如,列出用户的所有评论:
type Comment
@model
@key(fields: ["userId", "createdAt"]) {
userId: ID!
createdAt: String!
text: String
}
Run Code Online (Sandbox Code Playgroud)
假设您使用 AWS Amplify 的 GraphQL 客户端,这将列出用户的所有评论,按最新顺序排列:
import { API, graphqlOperation } from 'aws-amplify';
import { listComments } from '@/graphql/queries';
export default async function listCommentsForUser(userId) {
const queryParams = {
userId,
sortDirection: 'DESC',
};
const operation = graphqlOperation(listComments, queryParams);
return API.graphql(operation);
}
Run Code Online (Sandbox Code Playgroud)
要列出自指定日期以来的评论(最新的在前),请更改查询参数以包含范围查询:
const queryParams = {
userId,
sortDirection: 'DESC',
createdAt: { gt: timestamp },
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1888 次 |
| 最近记录: |