无法在 Sanity CMS 中进行搜索查询

use*_*456 4 content-management-system sanity groq

我正在尝试使用 Sanity CMS 执行非常基本的搜索查询。这是person我创建的架构的样子:

export default {
  title: "Person",
  name: "person",
  type: "document",
  fields: [
    {
      title: "Name",
      name: "name",
      type: "string",
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我输入了两个不同的 Person 数据。这就是我尝试获取数据的方式:

const client = sanityClient({
  projectId: 'siaj5ql4',
  dataset: 'production',
  useCdn: true
})

const query = '*[_type == "person"]'

client.fetch(query).then(person => {
  console.log(person)
})
Run Code Online (Sandbox Code Playgroud)

但是我在控制台中得到一个空数组:[] 没有错误或任何东西。关于这个简单任务的任何想法?

bjo*_*rge 5

造成这种情况的常见原因有两个:

  1. 数据集是私有的,客户端未配置令牌。
  2. 您希望看到的文档未发布(默认情况下草稿是私有的)并且客户端未配置令牌。

另请注意,CDN 不能与私有数据集和/或访问令牌一起使用。

  • 很高兴为你解决了!公开数据集意味着您数据集中的每个已发布文档都是公开可读的(CORS 仅在浏览器上下文中很重要,并且不会限制任何人例如为所有公共文档抓取您的数据集)。 (2认同)