问题标签 [groq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何定义 NOT 是 sanity.io 结构构建器?
我正在尝试过滤所有没有类别的产品(这是参考数组)并且找不到如何做到这一点。
!category
不工作。我将不胜感激。
sanity - Groq:加入文档字段
我有一个读取如下内容的架构:页面(文档)有一个项目数组(对象);每个 Item 可以有一个 Post(文档);每个帖子都有几个标签(文档)。
我已经完成了大部分的钻取工作,但由于某种原因,我无法完全解决标签上的连接问题。这是我的架构的简要介绍:
这是我的工作查询......</p>
...所以我已经弄清楚如何查询对象数组以及如何查询引用文档,但我似乎无法桥接查询引用文档数组。有什么线索吗?
sanity - 解决 Sanity.io 中块内容中的引用
我在理智中有这样的内容块:
当进行类似的查询时
我得到了参考,但我想返回完整的文档。我尝试了每种方法,但文档仅解释了内容块之外的引用,并且这些方法不起作用。
这是查询返回的内容:
sanity - 是否可以在 Sanity/GROQ 中查询文档模式元数据?
我在我的 Sanity/NextJS 项目中定义了一个简单的单例文档模式,用于模拟我的“Colophon”页面(richText
是自定义块字段类型):
我在 NextJS 应用程序中通过一个简单的查询来检索此文档:
是否可以编写一个 GROQ 查询来检索模式中定义的元标题,即Colophon
?虽然这是一个单例文档,但如果可能的话,我想避免在我的项目中重复这个字符串。目前,我只能在结果中看到文档上的字段,即body
.
谢谢阅读!
content-management-system - Sanity.io GROQ 查询对象数组
我正在学习编码,现在我正处于一个以 Sanity 作为 CMS 的小型宠物项目的阶段。长话短说,制作一个 API 我正在尝试通过鸡尾酒投票来获取鸡尾酒数据。投票存储在投票的人中:
GROQ 查询
返回
如您所见,合并提供了嵌入式投票数组,同时我想要这样的东西:
试图得到这个我修改了查询:
这应该从投票 arr 的每个元素中进行预测。不幸的是,我得到了空数组:
我怎样才能达到预期的效果?感谢您的阅读!将不胜感激任何帮助!
sanity - 如何获取所有文档中的最新文档
在 sanity studio 中,您会获得一份包含所有文档的最新版本的漂亮列表。如果有草稿,你会得到它,如果没有,你会得到出版的。
对于一些过滤器和脚本,我需要相同的列表。以下 groq 完成了这项工作,但速度不是很快,并且在新 API (v2021-03-25) 中不起作用。
绕过 API 中的重大更改的一种方法是使用length() = 0
代替,!defined()
但这会使已经很慢的查询慢 10-20 倍。
有谁知道制作只考虑最新版本的过滤器的方法?
编辑:我需要这个的一个例子是,如果我想查看没有任何类别的所有文档。无论是已发布文档还是没有类别的草稿,它都会显示在普通过滤器中。因此,如果您添加类别但不想立即发布它会在 no-categories-list 中造成混淆。,'-)
sanity - Sanity io 显示作者的博客文章
我正在学习 Sanity io CMS 和 GROQ。我使用 Sanity 预定义的博客模式构建了一个简单的博客。我已经设法显示帖子、单个帖子和作者页面,显示名称、图像和简历。
我想做的是在他的页面中显示属于作者的博客文章列表。在帖子架构中有对作者的引用:
我试图post
在作者模式中添加一个数组引用,但结果是在 CMS 中我需要手动向作者添加帖子。同时,我想查询作者并返回属于作者的帖子,因为帖子架构中有对它的引用,但找不到如何去做。它可能更像是一个 GROQ 查询而不是模式问题,还是两者兼而有之?
next.js - 如何使用 Groq 显示引用的对象
我有一个“成功案例”页面(/cases),当我进入详细信息页面时,我有类似/cases/some-slug 的内容。
“案例”模式引用了一个品牌,如下所示:
在我找到的所有示例中,我必须将品牌与案例联系起来。但是,如果我将每个案例都链接到一个特定的品牌,它会更有用。(另一种我必须附加到品牌的方式,多个案例)。
所以,下面的例子我做了相反的方式(这不方便我构建的结构):
知道如何构建我需要的方式吗?基本上是:
- 根据“案例”模式的引用获取caseBrand对象。
- 我将在个别案例页面中显示品牌名称和徽标。
太感谢了。
next.js - sanity-algolia 在使用 pt::text 时出错
我正在尝试使用 sanity-algolia 库将 algolia 搜索与 sanity CMS 集成(参考https://www.sanity.io/plugins/sanity-algolia)
但是当我尝试使用 pt::text 函数从便携式文本富文本内容中获取纯文本时。我明白expected '}' following object body
了,我真的不知道我在哪里缺少括号。
(另一个注意事项:由于我通过 using 托管sanity start
sanity,所以我使用 nextjs(我的前端)来运行该函数,而不是使用 nextJS 中的 /api 路由)所以 sanity 有一个到此路由的 webhook。
有关错误的详细信息:
这是我正在运行的无服务器功能:
和我理智的帖子架构:
reactjs - 如何使用 react.js 过滤 sanity.io 中的 API 数据?
您好,我是社区的新手,正在学习这里的工作方式。请尝试通过我蹩脚的英语来理解。
假设 API 中有 200 个数据,但我只想将任意 4 个随机数据拉到前端。更清楚地说,这些数据是来自sanity.io的博客文章,在 React.js中使用了 groq ql。这是显示来自 API 的所有数据的代码。我尝试过slice
功能但没有奏效。