使用 GraphCool 后端,有没有办法在查询中使用条件过滤器?
假设我有一个这样的查询:
query ($first: Int, $skip: Int, $favorited: Boolean) {
allPhotos (
first: $first
skip: $skip
filter: {
favorited: $favorited
}
)
{
id
url
title
favorited
}
}
//variables: { "first": 10, "skip", "favorited": true }
Run Code Online (Sandbox Code Playgroud)
上面的查询将:
1) 只获取收藏的照片。
2)只获取不喜欢的照片。
我的问题是我希望能够:
1) 查询仅收藏或不收藏的照片。
2) 查询照片,不管它们是否被收藏。
如何有条件地包含过滤器?我可以吗?我正在用 Javascript 中的 react-apollo 做一些事情,我可以用代码找出一个解决方案,但我想知道是否有办法在 graphql 领域做到这一点。
我的项目使用 cognito 用户池作为默认身份验证方法,并且还将 iam 用于我的自定义 graphql lambda 解析器。
我一直在使用 AppSync 控制台对我的查询/突变运行测试。
我在这个 schema.graphql 文件中实现了 User 和 Group 类型之间的多对多关系。
type User
@model
@auth(
rules: [
{ allow: owner, ownerField: "id", operations: [create, update, delete] }
{ allow: private, provider: iam, operations: [read, update, delete] }
{ allow: private, provider: userPools, operations: [read] }
]
) {
id: ID!
displayName: String!
groups: [GroupMemberLink] @connection(keyName: "byMember", fields: ["id"])
}
type Group
@model
@auth(
rules: [
{ allow: owner, ownerField: "members", operations: [create, update, …Run Code Online (Sandbox Code Playgroud) 一个可以比另一个做得更多吗?我应该坚持使用 lodash 还是只使用 ES6 的 map 方法?
aws-amplify ×1
aws-appsync ×1
ecmascript-6 ×1
graphcool ×1
graphql ×1
graphql-js ×1
javascript ×1
lodash ×1
react-native ×1