node.js - 如何使用 GraphQL 按 slug 进行搜索? - "Unknown argument\"slug\"on field\"文章\"

标签 node.js reactjs graphql slug strapi

我正在 GraphQL Playground 中摆弄,试图构建一个查询来根据文章的 slug 检索文章。我的后端在 Strapi 上运行,我构建了一个“文章”类型,其中包含一个名为“slug”的文本字段。我可以通过 id 访问它(这似乎有效),但我更喜欢通过 slug 访问它,这样我就可以使用人类友好的 url 构建页面。

我有一篇虚拟文章,id 为 9,slug 为“a”。

我的查询如下所示:

query Articles {
    article (  slug: "a"  ) {
        title
    }
}

执行此操作后,我收到错误:

"message": "Unknown argument \"slug\" on field \"article\" of type \"Query\".",

自从文档 here 以来,这让我感到困惑表明我应该能够将字段作为参数传递并进行相应的搜索,但即使我将 slug 与标题或作者互换,我也会收到类似的错误。我唯一可以可靠地搜索的是 ID:

query Articles {
    article (  id: "9"  ) {
        title
    }
}

这可以正确检索目标文章的信息。我这里哪里出错了?我现在已经尝试了各种方法。

See my query / response here 。非常感谢您的帮助。

最佳答案

使用 find (又名复数形式,因为单数使用 findOne),您必须使用 where 过滤器:

query Articles {
    article (where: { slug: "a" }) {
        title
    }
}

关于node.js - 如何使用 GraphQL 按 slug 进行搜索? - "Unknown argument\"slug\"on field\"文章\",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62851194/

相关文章:

javascript - 在函数中运行代码就像在另一个作用域中运行一样

javascript - 使用 ListView 自动完成 TextInput - 必须点击 ListView 两次才能选择列表项

javascript - 解构 Flow 对象类型?

node.js - Windows 8 上的“npm i”错误

node.js - 如何将参数传递给 jake 任务,例如命名空间 :task parameter?

reactjs - 如何使用 Material UI (React) 创建评级条(或线性仪表)

javascript - React-Bootstrap 和 Bootstrap-sass modal.scss 未加载

vue.js - 如何将动态参数添加到 graphql 查询中

GraphQL:如何将args传递给子对象

javascript - TypeError : Router. use() 需要一个中间件函数,但在 Function.use 处得到一个字符串