问题标签 [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.
sanity - 如何在单个查询中填充引用数组
我有一个架构类型 Page ,它有一个块数组:
该类型tileGrid
具有以下字段:
所以tile
类型嵌套很深page.blocks[].tiles[].tile
。如何在同一个查询中查询page
和填写tile
参考文献?
sanity - 在 Sanity 中获取给定类型的最后创建文档的 _id
在 Sanity 中,对于名为 的给定文档类型message
,我如何获取_id
最新的消息文档?
content-management-system - 无法在 Sanity CMS 中进行搜索查询
我正在尝试使用 Sanity CMS 执行一个非常基本的搜索查询。这就是person
我创建的架构的样子:
我输入了两个不同的人员数据。这就是我尝试获取数据的方式:
但是我在控制台中得到一个像这样的空数组:[]
没有错误或任何东西。对这个简单的任务有什么想法吗?
sanity - 如何将内部连接作为 GROQ 中的条件?
我有一个带有帖子的数据集,其中可能有一个类别数组。
如何进行 GROQ 查询以选择标题为“页面”的类别的所有帖子?
我认为我可以做这样的事情:
我可能需要使用函数在数组内部进行匹配,但是cheetsheet对我来说太密集了 - 我只是找不到它。
我的数据集的要点是:
一个简单的查询:
回报:
sanity - 如何使用算术运算符计算总和
我有一个包含从 1 到 5review
的字段的类型。现在我想计算平均评分。相关架构:rating
number
Sanity 最近向 GROQ 添加了算术运算,但我不确定如何使用它们,而且文档很少。
- 是否可以使用算术运算来计算所有评分的总和?如果是这样,怎么做?
- 您还可以将总和除以同一查询中所有评论的数量吗?
sanity - 是否可以在 sanity.io 中进行地理空间查询?
我发现 sanity 支持Geopoint 类型,但是如果可以对这种类型进行任何过滤操作,我找不到任何信息。地理空间查询可能吗?
sanity - 我可以通过 GROQ 查询联系到祖父母吗?
我正在尝试为我的 Sanity.io 项目运行 GROQ 查询,该查询应该过滤掉包含基于祖父母 ID 的引用的子文档。有可能这样做吗?
我已经了解到,对于类似的场景,我可以像这样使用父运算符:
但就我而言,我需要祖父母 ID,因此我无法像现在编写查询那样使用父运算符。
我也可以清楚地阅读文档:
已知问题 ^ 运算符目前仅适用于子查询。在所有其他作用域中,它返回当前作用域的根,而不是父作用域。也不能使用 ^ 来引用祖父母范围。
但没有关于解决方法的信息。
查询当前看起来像这样。我只需要引用团队 ID 的页面。但是现在,使用当前位置(页面)中的引用(^._id),我只从父母(体育)而不是我需要的祖父母(团队)获得参考ID。
在此先感谢,任何帮助都将不胜感激。
sanity - 使用 GROQ (sanity) (React App) 过滤一组日期 (datetime)
我有一个可以多次放映的电影列表。我决定为用户提供为一部电影选择多个日期的选项(sanity studio 界面)。
电影的架构如下:
当前查询:
我需要使用 GROQ 过滤日期数组中具有今天日期的电影
也许我过于复杂了,有人会想出更好的方法。
这个想法是为了避免数据库中的重复(1部电影可以显示3-6次)。这是我使用数组的唯一原因
javascript - 在 Sanity.io GROQ 查询中随机排序不起作用?
Sanity.io 太棒了!但是当我刚刚开始时,我还找不到一些我知道的东西,例如 MySQL。根据 GROQ备忘单,我应该能够通过给出以下查询来随机排序和切片(MySQL 中的 LIMIT + OFFSET):
但是,这不会随机排序。该评论也没有意义,因为我希望这只会根据创建时间选择前 10 个项目。
有人知道如何随机排序吗?而且,当我们这样做的时候,我可以用种子随机排序吗?在 MySQLSELECT * FROM your_table ORDER BY RAND(351);
中会这样做
sanity - 按对象数组中的字段值过滤查询结果 [Sanity.io & GROQ]
我试图在我的产品列表中找到一个产品变体(在 sanity.io 上使用 GROQ),为此,我有我想要的变体的 sku。
我正在使用的查询是
*[_type == "product" && variants[].sku.current =="kit-kat-wasabi-5" ]
但是这个查询返回一个空数组。我确定 sku 是正确的,因为如果我将过滤器放在一边,并获取我能找到的所有内容。我尝试用匹配替换“==”,但结果是一样的。
我的模式是
产品
和productVariant