You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sanity查询始终返回空数组问题求助

排查Sanity查询返回空数组的方案

1. 确认数据集匹配

检查Sanity Studio中发布的两篇文章是否确实存在于production数据集——有时内容可能被误发布到development数据集,导致查询不到。

2. 关闭CDN缓存测试

你的客户端配置开启了useCdn: true,新发布的内容可能还未同步到CDN节点。临时将useCdn改为false再重新运行查询:

export default SanityClient({
  projectId: "******",
  dataset: "production",
  useCdn: false, // 临时关闭CDN
  apiVersion: "2021-10-21",
})

如果能查到数据,说明是CDN缓存延迟,等待一段时间后再开启CDN即可。

3. 检查文档发布状态

确保Sanity中的文章已经完成发布操作(不是停留在草稿状态)。草稿内容不会通过公共API或CDN返回,只有已发布的文档才能被查询到。

4. 验证查询语法

在Sanity Studio的「Vision」工具中直接执行查询*[_type == "post"],如果工具里能返回结果,说明查询语法没问题,问题出在客户端配置或权限;如果工具里也查不到,说明内容本身不存在或类型名写错(比如post是不是实际的文档类型)。

5. 检查数据集权限

进入Sanity管理后台的「Settings」→「API」页面,确认production数据集的权限设置为「Public access (read-only)」,否则公共API无法读取数据。

6. 更新API版本

尝试将apiVersion更新为较新的稳定版本(比如2024-05-01),避免旧版本API的兼容性问题:

export default SanityClient({
  projectId: "******",
  dataset: "production",
  useCdn: true,
  apiVersion: "2024-05-01", // 更新为最新稳定版本
})

内容的提问来源于stack exchange,提问作者Mia loha.dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 02:01:13