【发布时间】:2021-06-26 05:56:40
【问题描述】:
在 sanity studio 中,您会获得一份包含所有文档的最新版本的精美列表。如果有草稿,你会得到它,如果没有,你会得到已发布的。
对于一些过滤器和脚本,我需要相同的列表。以下 groq 可以完成这项工作,但速度不是很快,并且不适用于新 API (v2021-03-25)。
*[
_type == $type &&
!defined(*[_id == "drafts." + ^._id])
]._id
解决 API 中的重大更改的一种方法是使用 length() = 0 代替 !defined(),但这会使已经很慢的查询慢 10-20 倍。
有人知道制作只考虑最新版本的过滤器的方法吗?
编辑:如果我想查看没有任何类别的所有文档,我需要这个示例。无论是已发布文档还是没有类别的草稿,它都会显示在普通过滤器中。因此,如果您添加类别但不想立即发布它会在 no-categories-list 中混淆。 ,'-)
【问题讨论】: