如何使用 Strapi 在 GraphQL 中添加自定义查询?
Posted
技术标签:
【中文标题】如何使用 Strapi 在 GraphQL 中添加自定义查询?【英文标题】:How do I add custom queries in GraphQL using Strapi? 【发布时间】:2020-08-25 04:43:59 【问题描述】:我正在使用 graphQL 在 React 中查询 MongoDB 数据库,并使用 Strapi 作为我的 CMS。我正在使用 Apollo 来处理 GraphQL 查询。我可以通过传递 ID 参数来获取我的对象,但我希望能够传递不同的参数,例如名称。
这行得通:
course(id: "5eb4821d20c80654609a2e0c")
name
description
modules
title
这不起作用,在类型为 \"Query\" 的字段 \"course\" 上给出错误 "Unknown argument \"name\"
course(name: "course1")
name
description
modules
title
根据我的阅读,我需要定义一个自定义查询,但我不确定如何执行此操作。
Course 的模型目前是这样的:
"kind": "collectionType",
"collectionName": "courses",
"info":
"name": "Course"
,
"options":
"increments": true,
"timestamps": true
,
"attributes":
"name":
"type": "string",
"unique": true
,
"description":
"type": "richtext"
,
"banner":
"collection": "file",
"via": "related",
"allowedTypes": [
"images",
"files",
"videos"
],
"plugin": "upload",
"required": false
,
"published":
"type": "date"
,
"modules":
"collection": "module"
,
"title":
"type": "string"
和 任何帮助将不胜感激。
【问题讨论】:
后端堆栈?服务器/lib/lang/任何东西? 使用 GraphQL 和 Apollo 来查询连接到 MongoDB 数据库的 Strapi CMS,用 React 编写? 【参考方案1】:参考 Strapi GraphQL Query API
您可以使用 where
和查询 courses
来过滤您的字段。您将获得课程列表而不是一门课程
这应该可行:
courses(where: name: "course1" )
name
description
modules
title
【讨论】:
我试过这个,但不幸的是我在“查询”类型的字段“课程”上得到“未知参数”。” - 我认为这是因为架构中定义的查询只接受 ID,但我不确定如何为 Name 添加查询 应该是courses
,我已经修改了答案。对于将来的查询,您可以查阅我在回答中引用的文档。以上是关于如何使用 Strapi 在 GraphQL 中添加自定义查询?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Graphql 从 Strapi 查询 Gatsby 中的多个图像
如何将strapi、graphql和postgres连接在一起?
如何:具有动态区域/组件的 Strapi GraphQL 突变